[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: git: how to figure out with a script what the last commit on remote repo is without fetching it



Joel Rees <joel.rees@gmail.com> writes:

> On Sun, Sep 21, 2014 at 3:43 AM, lee <lee@yun.yagibdah.de> wrote:
>> Joel Rees <joel.rees@gmail.com> writes:
>>
>>> Well, your experience with git and mine are quite different.
>>>
>>> On Sat, Sep 20, 2014 at 11:15 PM, lee <lee@yun.yagibdah.de> wrote:
>>>> Joel Rees <joel.rees@gmail.com> writes:
>>>> [...]
>>>
>>> Let's clear the conversation, it's too cluttered for me to make sense
>>> of it any more.
>>>
>>> cd to your local copy of the repository you want to do some work in.
>>> Try these two commands:
>>>
>>>     git log
>>
>>
>> [~/inst/emacs/emacs-git/emacs] git log
>>
>> ,----
>> | commit f0aeb3ae50be0f96cefa391c8483d8be9f81d9f9
>> | Merge: 4dbf5c2 9ce4cf2
>> | Author: lee <lee@yun.yagibdah.de>
>> | Date:   Sun Aug 31 18:47:54 2014 +0200
>> |
>> |     Merge branch 'master' of git://git.savannah.gnu.org/emacs
>> |
>> | [...]
>> `----
>>
>>
>>>     git branch --list -ar
>>
>> ,----
>> | [~/inst/emacs/emacs-git/emacs] git branch --list -ar
>> |   origin/HEAD -> origin/master
>> |   [...]
>> | [~/inst/emacs/emacs-git/emacs]
>> `----
>>
>>> What do they tell you?
>>
>> That it's been a while since I did a 'git pull'?
>
> Well, that, too.
>
> What do
>
>     git status


,----
| [~/inst/emacs/emacs-git/emacs] git status
| On branch master
| Your branch and 'origin/master' have diverged,
| and have 9 and 78 different commits each, respectively.
|   (use "git pull" to merge the remote branch into yours)
| 
| Untracked files:
|   (use "git add <file>..." to include in what will be committed)
| [...]
`----

>
> and
>
>     git diff
>
> give you?


,----
| [~/inst/emacs/emacs-git/emacs] git diff
| [~/inst/emacs/emacs-git/emacs] 
`----


If there were diffs shown, only the local diffs would show up.

> Mind you, Linus himself says that git is stupid, and he prefers it
> that way.

Being stupid in such a case isn't necessarily a bad thing, unless it
doesn't make sense anymore.

It doesn't make sense to consider a repo as remote when that very repo
was "born" by 'git init' on my computer.  I might push it to a remote
site, and that still doesn't make it a remote repo.  It would have to be
a remote repo for anyone else who clones it.  Yet since git is
distributed, there are merely copies (clones), and there is no such
thing as a "remote repo".  There are only clones.

That git has any notion or concept of "remote" whatsoever makes it
contradictory to itself.  Linus must have been stupid himself to
introduce a self-contradictory concept into git.  That's not a problem
of git.

Why doesn't it use the concept of clones (copies) instead?  It seems to
be an essential thing to git that there are copies, regardless of
/where/ they are, and that would be straightforward.  Every copy is
local.  Assuming instead that even the local copy is something remote is
just retarded.

> Did you catch the part where git is explained as more of a backing
> store than a source code control system? That means when you use git,
> you get to do more of the "code management" and "team management"
> using external processes and tools.

No --- but perhaps that's one of the things because of which I like it.
I never got along with any of the other systems.


-- 
Knowledge is volatile and fluid.  Software is power.


Reply to: