About *git clone --depth=n* puzzle

2013-08-14 Thread XinLingchao
Hi Guys,

I think I have got some trouble when I use `git clone --depth=n` command. Take 
a real repo for example:


`git clone https://github.com/douglarek/vimrc.git --depth=1`


then I use `git log`:
  
```  
    commit d04ca09ecc723739123fae11ad56784eb0c9b36a
    Author: Lingchao Xin dougla...@outlook.com
    Date:   Fri Jun 7 09:39:22 2013 +0800

    Update vnudle to master branch, add wm shortcut, pylint optimization

    commit c66d827dc212f6ae8aab6b5c44631564bcbe2acd
    Author: icocoa lingc...@outlook.com
    Date:   Tue Mar 12 01:36:34 2013 -0700

    Merge pull request #1 from douglarek/master

    Add markdown, flake8, pylint plugin

```
    but when I clone it with `file://`:

    git clone https://github.com/douglarek/vimrc.git
    git clone file://vimrc.git --depth=1 vimrc1

    I got this log:
```
    commit d04ca09ecc723739123fae11ad56784eb0c9b36a
Author: Lingchao Xin dougla...@outlook.com
Date:   Fri Jun 7 09:39:22 2013 +0800

    Update vnudle to master branch, add wm shortcut, pylint optimization
```

so the two results are not same, is it a bug? or it should be so?

My os is openSUSE 12.3 and git version 1.8.3.4; and myabe it occured in git 
1.8.1.4 +.


Thanks and Best regards

Lingchao Xin  --
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: About *git clone --depth=n* puzzle

2013-08-14 Thread Stefan Beller
On 08/14/2013 10:20 AM, XinLingchao wrote:
 Hi Guys,
 
 I think I have got some trouble when I use `git clone --depth=n` command. 
 Take a real repo for example:
 
 
 `git clone https://github.com/douglarek/vimrc.git --depth=1`
 
 
 then I use `git log`:
   
 ```  
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date:   Fri Jun 7 09:39:22 2013 +0800
 
 Update vnudle to master branch, add wm shortcut, pylint optimization
 
 commit c66d827dc212f6ae8aab6b5c44631564bcbe2acd
 Author: icocoa lingc...@outlook.com
 Date:   Tue Mar 12 01:36:34 2013 -0700
 
 Merge pull request #1 from douglarek/master
 
 Add markdown, flake8, pylint plugin
 
 ```
 but when I clone it with `file://`:
 
 git clone https://github.com/douglarek/vimrc.git
 git clone file://vimrc.git --depth=1 vimrc1
 
 I got this log:
 ```
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date:   Fri Jun 7 09:39:22 2013 +0800
 
 Update vnudle to master branch, add wm shortcut, pylint optimization
 ```
 
 so the two results are not same, is it a bug? or it should be so?
 
 My os is openSUSE 12.3 and git version 1.8.3.4; and myabe it occured in git 
 1.8.1.4 +.
 
 
 Thanks and Best regards
 
 Lingchao Xin--

There was a similar discussion going on in July this year,
maybe this is an interesting read with respect to this topic
http://www.spinics.net/lists/git/msg196138.html

Stefan




signature.asc
Description: OpenPGP digital signature


RE: About *git clone --depth=n* puzzle

2013-08-14 Thread XinLingchao
---
 Date: Wed, 14 Aug 2013 10:51:53 +0200
 From: stefanbel...@googlemail.com
 To: dougla...@outlook.com
 CC: git@vger.kernel.org; junchunx.g...@gmail.com
 Subject: Re: About *git clone --depth=n* puzzle

 On 08/14/2013 10:20 AM, XinLingchao wrote:
 Hi Guys,

 I think I have got some trouble when I use `git clone --depth=n` command. 
 Take a real repo for example:


 `git clone https://github.com/douglarek/vimrc.git --depth=1`


 then I use `git log`:

 ```
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date: Fri Jun 7 09:39:22 2013 +0800

 Update vnudle to master branch, add wm shortcut, pylint optimization

 commit c66d827dc212f6ae8aab6b5c44631564bcbe2acd
 Author: icocoa lingc...@outlook.com
 Date: Tue Mar 12 01:36:34 2013 -0700

 Merge pull request #1 from douglarek/master

 Add markdown, flake8, pylint plugin

 ```
 but when I clone it with `file://`:

 git clone https://github.com/douglarek/vimrc.git
 git clone file://vimrc.git --depth=1 vimrc1

 I got this log:
 ```
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date: Fri Jun 7 09:39:22 2013 +0800

 Update vnudle to master branch, add wm shortcut, pylint optimization
 ```

 so the two results are not same, is it a bug? or it should be so?

 My os is openSUSE 12.3 and git version 1.8.3.4; and myabe it occured in git 
 1.8.1.4 +.


 Thanks and Best regards

 Lingchao Xin --

 There was a similar discussion going on in July this year,
 maybe this is an interesting read with respect to this topic
 http://www.spinics.net/lists/git/msg196138.html

 Stefan



Stefan, I do NOT think so, the key point is not about the depth limit, it is 
about whether remote clone depth equals local clone depth.

cheers

Lingchao Xin  

Re: About *git clone --depth=n* puzzle

2013-08-14 Thread Jeff King
On Wed, Aug 14, 2013 at 05:19:36PM +0800, XinLingchao wrote:

  There was a similar discussion going on in July this year,
  maybe this is an interesting read with respect to this topic
  http://www.spinics.net/lists/git/msg196138.html
 
 Stefan, I do NOT think so, the key point is not about the depth limit,
 it is about whether remote clone depth equals local clone depth.

I do not think it is about local vs remote, but rather about which
version of git the remote side is running. Prior to 682c7d2
(upload-pack: fix off-by-one depth calculation in shallow clone,
2013-01-11), a shallow clone always returned one extra commit. That fix
went into v1.8.2.

So if you have a post-v1.8.2 git client, a local clone will use the same
git version as the remote side of the connection. But if you are
contacting a remote server, the results you get will depend on what
version of git is running on the remote server.

And as the example you showed uses github.com as the remote, and as I
happen to know that GitHub's servers do not currently have 682c7d2, you
would see the old behavior.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: About *git clone --depth=n* puzzle

2013-08-14 Thread XinLingchao
Peff, thanks for your detial explain,  and I think I have got the point :P

-Lingchao Xin


 Date: Wed, 14 Aug 2013 07:59:56 -0400
 From: p...@peff.net
 To: dougla...@outlook.com
 CC: stefanbel...@googlemail.com; git@vger.kernel.org; junchunx.g...@gmail.com
 Subject: Re: About *git clone --depth=n* puzzle

 On Wed, Aug 14, 2013 at 05:19:36PM +0800, XinLingchao wrote:

 There was a similar discussion going on in July this year,
 maybe this is an interesting read with respect to this topic
 http://www.spinics.net/lists/git/msg196138.html

 Stefan, I do NOT think so, the key point is not about the depth limit,
 it is about whether remote clone depth equals local clone depth.

 I do not think it is about local vs remote, but rather about which
 version of git the remote side is running. Prior to 682c7d2
 (upload-pack: fix off-by-one depth calculation in shallow clone,
 2013-01-11), a shallow clone always returned one extra commit. That fix
 went into v1.8.2.

 So if you have a post-v1.8.2 git client, a local clone will use the same
 git version as the remote side of the connection. But if you are
 contacting a remote server, the results you get will depend on what
 version of git is running on the remote server.

 And as the example you showed uses github.com as the remote, and as I
 happen to know that GitHub's servers do not currently have 682c7d2, you
 would see the old behavior.

 -Peff   --
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: About *git clone --depth=n* puzzle

2013-08-14 Thread Duy Nguyen
On Wed, Aug 14, 2013 at 3:20 PM, XinLingchao dougla...@outlook.com wrote:
 Hi Guys,

 I think I have got some trouble when I use `git clone --depth=n` command. 
 Take a real repo for example:


 `git clone https://github.com/douglarek/vimrc.git --depth=1`


 then I use `git log`:

 ```
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date:   Fri Jun 7 09:39:22 2013 +0800

 Update vnudle to master branch, add wm shortcut, pylint optimization

 commit c66d827dc212f6ae8aab6b5c44631564bcbe2acd
 Author: icocoa lingc...@outlook.com
 Date:   Tue Mar 12 01:36:34 2013 -0700

 Merge pull request #1 from douglarek/master

 Add markdown, flake8, pylint plugin

 ```
 but when I clone it with `file://`:

 git clone https://github.com/douglarek/vimrc.git
 git clone file://vimrc.git --depth=1 vimrc1

 I got this log:
 ```
 commit d04ca09ecc723739123fae11ad56784eb0c9b36a
 Author: Lingchao Xin dougla...@outlook.com
 Date:   Fri Jun 7 09:39:22 2013 +0800

 Update vnudle to master branch, add wm shortcut, pylint optimization
 ```

 so the two results are not same, is it a bug? or it should be so?

 My os is openSUSE 12.3 and git version 1.8.3.4; and myabe it occured in git 
 1.8.1.4 +.

The fix is at the server side. =1.8.2 corrects --depth, which is what
you use for file://. github is still on 1.8.1.6, which does not have
that fix. Oh and the commit is 682c7d2 (upload-pack: fix off-by-one
depth calculation in shallow clone - 2013-01-11)
-- 
Duy
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html