From: Nicolas Pitre <nico@cam.org>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org, Andy Whitcroft <apw@shadowen.org>,
Carl Worth <cworth@cworth.org>
Subject: Re: Cleaning up git user-interface warts
Date: Tue, 14 Nov 2006 23:32:06 -0500 (EST) [thread overview]
Message-ID: <Pine.LNX.4.64.0611142048350.2591@xanadu.home> (raw)
In-Reply-To: <7virhhy76h.fsf@assigned-by-dhcp.cox.net>
On Tue, 14 Nov 2006, Junio C Hamano wrote:
> Junio C Hamano <junkio@cox.net> writes:
>
> > - I think it would be sensible to make remote tracking branches
> > less visible. For example:
> >...
> > - "git merge" to merge another branch into the current would
> > make sense. "git pull . remotes/origin/next" is showing too
> > much implementation detail. It should just be:
> >
> > git merge origin#next
>
> This and other examples in "making remote tracking branches less
> visible" are hard to read because I used the word "origin" in
> two different sense. So here is a needed clarification.
>
> If you have remotes/upstream that says:
>
> URL: git://git.xz/repo.git
> Pull: refs/heads/master:remotes/origin/master
> Pull: refs/heads/next:remotes/origin/next
>
> Then, currently the users need to say:
>
> git diff remotes/origin/master
> git merge remotes/origin/next
>
> By "making tracking branches less visible", what I mean is to
> let the users say this instead:
>
> git diff upstream
> git merge upstream#next
What is the point of hiding tracking branches? Why just not making them
easier to use instead? There are currently so many ways to specify
remote branches that even I get confused.
OK..... let's pretend this is my follow-up to your "If I were redoing
git from scratch" query. Actually I would not redo it from scratch
since the vast majority of it is rather sane already. But here's some
changes that I would do:
1) make "git init" an alias for "git init-db".
What's the point of "-db"? Sure we're initializing the GIT database.
But who cares? The user doesn't care if GIT uses a "database" or
whatever. And according to some people's definition of a "database" it
could be argued that GIT doesn't use a database at all in the purist
sense of it. What the user wants is to get started and "init" (without
the "-db" is so much more to the point. Doesn't matter if incidentally
it happens to be the same keyword HG uses for the same operation because
we are not afflicted by the NIH disease, right? And it has 3 chars less
to type which is for sure a premium improvement to the very first GIT
user experience!
2) "pull" and "push" should be symmetrical operations
They are symmetrical in the dictionary and in people's mind. OK but what
if I merge content from another _local_ branch into the current one?
Isn't that kind of a pull as well? Answer: NO IT IS NOT! Reason:
because we already have "merge" for that very operation for damn sake!
And because "merging" isn't a synonym for "pulling" at all, we cannot
pretend it should sort of become more true if taken the other way
around.
Actually, if we _merge_ stuff together, we certainly have to /pull/ some
of it, meaning that "merge" might imply a "pull", even in real life
situations outside of the GIT context (think merging Vodka and Kahlua in
a glass where you might have to pull the Vodka bottle out of the freezer
before you can merge it). And thankfully we got it right with git-merge
which can take either a branch or an URL as argument which in the later
case will perform a pull implicitly (OK currently a fetch but you know
what I mean).
But trying to put in people's head that "pulling" implies a "merge"? No
that doesn't work really well. OK if you pull too hard on the Vodka
bottle that might imply a merge at some point but it would certainly be
accidental. And it is not without coincidence that some people had
accidental GIT merges by using git-pull.
Conclusion: git-pull must not perform any merge. It is the symmetrical
operation of a push meaning that it pulls content from a remote branch
and does no more. People understands that pretty well, . This makes
git-fetch redundant (or an alias to git-pull) in that case, and again we
don't mind it becoming similar to in HG because we admit HG was right
about it.
3) remote branch handling should become more straight forward.
OK! Now that we've solved the pull issue and that everybody agrees with
me (how can't you all agree with me anyway) let's have a look at remote
branches. It should be simple:
a) git-pull git://repo.com/time_machine.git
This pulls every branches from the time_machine.git repository and
create identically named branches locally, except for the remote
master becoming origin locally. All those branches are marked read-only
(i.e. cannot commit to them) and _each_ of those branches get an URL
associated to them somehow (the association is an implementation
detail).
If then you do:
b) git-pull origin
Then it will pull the git://repo.com/time_machine.git:master branch into
the local "origin" branch. IOW, local tracking branches becomes
synonyms for their remote URLs after they've been pulled once. If the
remote branch "next" became a local "next" with the first pull (because
it didn't specify any branch meaning that they were all pulled), doing
a:
c) git-pull next
would actually be the same as:
d) git-pull git://repo.com/time_machine.git:next
Now to have different remote and local names for those tracking
branches:
e) git-pull git://repo.com/time_machine.git:master upstream
would be a variation where a remote branch gets a different local name.
This pulls the remote master branch but calls it "upstream" locally.
If that "upstream" branch does exist locally already then fail with
appropriate error message, unless the local branch happens to have the
same URL attribute already. You then have two local branches tracking
the same remote branch which is weird but still fine if someone wants
to have different views (today's pull and yesterday's pull). This is
not necessarily something to encourage but only a fallout of the branch
semantic. And again a simple:
f) git-pull upstream
would update the "upstream" branch from the remote master branch.
I think the concept of "branch group" should be preserved too. So if
you create a group called "warp", then add "origin", "next", and
"upstream" to it, then:
g) git-pull warp
would pull all the included branches. One way to create a branch group
with the initial pull is not to specify the remote branch but only the
repository URL, like:
h) git-pull git://repo.com/time_machine.git warp
Because no specific branch in the remote repository was specified just
like in (a) then all branches are pulled, but because a local name was
provided then this becomes a branch group.
Branch groups could be used to extend the branch namespace as well to
avoid clashes with different remote repositories. In this case the
branch groups could be a way to arrange branches in a hierarchy so
"warp" refer to all branches included in the warp group while
"warp/upstream" refer to only one branch. In this case "upstream" and
"warp/upstream" would be the same branch if "upstream" was effectively
added to the "warp" group, but it doesn't need to be so. And branches
in a group don't have to come from the same remote repository either
since the source of each branch (the URL) is a per branch attribute.
To make it "easy" on the user, I think that any branch (or tag) down the
hierarchy should be used without the "path" leading to it if there is no
conflict. We already do that with heads and tags, So if for example the
"warp" group contained a branch named "lightspeed" but no such branch
(or tag) existed anywhere else then it could be referenced with simply
"lightspeed" or "warp/lightspeed".
Then you don't need any strange scheme for diff and merge. Just using
"git-diff upstream" or "git-merge origin next" suffice. Oh and I don't
think it would be a good idea to have a completely separate namespace
for local vs remote aka tracking branches. Maybe in .git/refs/ they
should be separate to distinguish which ones are read-only remote
tracking ones and which ones are local, but that must not be forced on
the UI.
Thinking about it some more, maybe (a) should create a default branch
group if the remote repository has more than one branches, say "origin".
This way, git-pull without any argument would be the same as
"git-pull origin" by default. If "origin" is a single branch then
(git-pull" would pull only one branch, but if "origin" is a branch group
then all included branches would be pulled.
This becomes formalized as:
git_pull [<URL>] [<local_name>]
If <URL> includes a branch name then <local_name> is a single branch
name. If <URL> doesn't include any branch name then <local_name>
becomes a local branch group name containing all branches in the remote
repository. If <URL> is specified but not <local_name> then <local_name>
is set to "origin" by default, unless it already exists in which case it
is an error and the pull fails. If <URL> is not specified then the URL
attribute to the specified branch(es) is used. If nothing is specified
then "origin" is used for <local_name> by default and URL attribute of
the origin branch or the origin branch group is/are used.
*****
OK I think this is enough for now. I know that parts of what I've said
can already be found in GIT, but I wanted the explanation to be
complete and therefore tentatively coherent.
next prev parent reply other threads:[~2006-11-15 4:32 UTC|newest]
Thread overview: 421+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-14 16:42 [PATCH] commit: Steer new users toward "git commit -a" rather than update-index Carl Worth
2006-11-14 18:55 ` Andy Whitcroft
2006-11-14 19:22 ` Cleaning up git user-interface warts Carl Worth
2006-11-14 19:29 ` Shawn Pearce
2006-11-14 19:59 ` Carl Worth
2006-11-14 19:47 ` Petr Baudis
2006-11-14 20:56 ` Carl Worth
2006-11-15 0:31 ` Junio C Hamano
2006-11-15 4:08 ` Petr Baudis
2006-11-15 4:33 ` Junio C Hamano
2006-11-15 4:46 ` Nicolas Pitre
2006-11-15 10:09 ` Jakub Narebski
2006-11-15 10:15 ` Santi Béjar
2006-11-15 10:28 ` Jakub Narebski
2006-11-16 2:43 ` Petr Baudis
2006-11-15 14:56 ` Nicolas Pitre
2006-11-15 20:39 ` Petr Baudis
2006-11-15 10:05 ` Jakub Narebski
2006-11-15 10:25 ` Karl Hasselström
2006-11-15 20:51 ` Carl Worth
2006-11-15 20:57 ` Jakub Narebski
2006-11-15 22:00 ` Shawn Pearce
2006-11-15 22:17 ` Carl Worth
2006-11-17 20:30 ` Steven Grimm
2006-11-17 21:35 ` Junio C Hamano
2006-11-17 22:07 ` Petr Baudis
2006-11-14 20:46 ` Karl Hasselström
2006-11-14 20:52 ` Nicolas Pitre
2006-11-14 21:01 ` Jakub Narebski
2006-11-14 21:32 ` Nicolas Pitre
2006-11-14 22:04 ` Jakub Narebski
2006-11-14 22:29 ` Nicolas Pitre
2006-11-14 21:10 ` Carl Worth
2006-11-14 21:30 ` Jakub Narebski
2006-11-14 21:34 ` Nicolas Pitre
2006-11-14 22:56 ` Junio C Hamano
2006-11-15 1:48 ` Nicolas Pitre
2006-11-15 2:10 ` Junio C Hamano
2006-11-15 2:27 ` Michael K. Edwards
2006-11-15 4:20 ` Nicolas Pitre
2006-11-15 4:58 ` Junio C Hamano
2006-11-15 18:03 ` Linus Torvalds
2006-11-15 18:28 ` Jakub Narebski
2006-11-15 20:31 ` Josef Weidendorfer
2006-11-15 20:35 ` Petr Baudis
2006-11-15 21:12 ` Josef Weidendorfer
2006-11-15 21:31 ` Linus Torvalds
2006-11-15 18:43 ` Nicolas Pitre
2006-11-15 18:49 ` Shawn Pearce
2006-11-15 19:05 ` Marko Macek
2006-11-15 20:41 ` Junio C Hamano
2006-11-15 22:07 ` Shawn Pearce
2006-11-16 6:07 ` Marko Macek
2006-11-16 10:36 ` Junio C Hamano
2006-11-17 13:45 ` Jakub Narebski
2006-11-15 22:28 ` Sean
[not found] ` <20061115172834.0a328154.seanlkml@sympatico.ca>
2006-11-16 3:07 ` Petr Baudis
2006-11-15 18:58 ` Andy Parkins
2006-11-15 19:18 ` Linus Torvalds
2006-11-15 19:39 ` Michael K. Edwards
2006-11-15 20:09 ` Linus Torvalds
2006-11-15 20:21 ` Nicolas Pitre
2006-11-15 20:40 ` Linus Torvalds
2006-11-15 21:08 ` Carl Worth
2006-11-15 21:31 ` Junio C Hamano
2006-11-15 21:40 ` Nicolas Pitre
2006-11-15 21:52 ` Junio C Hamano
2006-11-15 21:59 ` Nicolas Pitre
2006-11-17 12:20 ` Karl Hasselström
2006-11-15 21:45 ` Linus Torvalds
2006-11-15 22:52 ` Carl Worth
2006-11-15 23:02 ` Shawn Pearce
2006-11-15 23:33 ` Linus Torvalds
2006-11-16 0:08 ` Nicolas Pitre
2006-11-16 3:07 ` Linus Torvalds
2006-11-16 3:43 ` Nicolas Pitre
2006-11-16 3:02 ` Michael K. Edwards
2006-11-16 11:35 ` Andreas Ericsson
2006-11-16 16:37 ` Carl Worth
2006-11-16 17:57 ` Michael K. Edwards
2006-11-16 18:23 ` Carl Worth
2006-11-17 8:41 ` Junio C Hamano
2006-11-17 9:18 ` Carl Worth
2006-11-17 10:11 ` Johannes Schindelin
2006-11-17 11:41 ` Junio C Hamano
2006-11-17 16:58 ` Shawn Pearce
2006-11-17 11:29 ` Junio C Hamano
2006-11-15 23:07 ` Sean
[not found] ` <20061115180722.83ff8990.seanlkml@sympatico.ca>
2006-11-15 23:15 ` Shawn Pearce
2006-11-16 7:51 ` Richard CURNOW
2006-11-16 23:01 ` Johannes Schindelin
2006-11-21 13:25 ` Jerome Lovy
2006-11-16 4:26 ` Theodore Tso
2006-11-16 11:50 ` Andreas Ericsson
2006-11-16 16:30 ` Linus Torvalds
2006-11-16 17:01 ` Carl Worth
2006-11-16 17:30 ` Linus Torvalds
2006-11-16 17:44 ` Sean
2006-11-16 1:40 ` Anand Kumria
2006-11-15 19:32 ` Junio C Hamano
2006-11-16 1:14 ` Theodore Tso
2006-11-16 4:21 ` Junio C Hamano
2006-11-16 11:34 ` Alexandre Julliard
2006-11-16 14:01 ` Petr Baudis
2006-11-16 15:48 ` Alexandre Julliard
2006-11-17 13:32 ` Jakub Narebski
2006-11-17 16:49 ` Alexandre Julliard
2006-11-17 17:41 ` Jakub Narebski
2006-11-16 16:07 ` Theodore Tso
2006-11-16 16:49 ` Theodore Tso
2006-11-22 23:21 ` Sanjoy Mahajan
2006-11-24 11:29 ` Jakub Narebski
2006-11-16 1:20 ` Han-Wen Nienhuys
2006-11-16 1:53 ` Jakub Narebski
2006-11-16 2:03 ` Junio C Hamano
2006-11-16 2:30 ` Han-Wen Nienhuys
2006-11-16 3:27 ` Junio C Hamano
2006-11-16 3:35 ` Junio C Hamano
2006-11-16 4:07 ` Junio C Hamano
2006-11-16 3:12 ` Linus Torvalds
2006-11-16 10:31 ` Junio C Hamano
2006-11-16 10:45 ` Han-Wen Nienhuys
2006-11-16 11:11 ` Junio C Hamano
2006-11-16 11:47 ` Junio C Hamano
2006-11-20 19:44 ` Horst H. von Brand
2006-11-20 19:46 ` Shawn Pearce
2006-11-20 20:02 ` Jakub Narebski
2006-11-16 13:03 ` Han-Wen Nienhuys
2006-11-16 13:11 ` Han-Wen Nienhuys
2006-11-17 13:25 ` Jakub Narebski
2006-11-24 12:26 ` Han-Wen Nienhuys
2006-11-24 12:41 ` Jakub Narebski
2006-12-05 22:42 ` Johannes Schindelin
2006-12-05 22:58 ` Junio C Hamano
2007-02-23 0:35 ` [PATCH for "next"] pretty-formats: add 'format:<string>' Johannes Schindelin
2007-02-23 1:03 ` Han-Wen Nienhuys
2007-02-23 1:07 ` Johannes Schindelin
2007-02-23 19:53 ` Robin Rosenberg
2007-02-24 1:25 ` Johannes Schindelin
2007-02-23 6:21 ` Junio C Hamano
2007-02-23 11:48 ` Johannes Schindelin
2007-02-23 18:30 ` Junio C Hamano
2007-02-23 18:38 ` Johannes Schindelin
2006-11-16 16:23 ` Cleaning up git user-interface warts Linus Torvalds
2006-11-16 16:42 ` Han-Wen Nienhuys
2006-11-16 17:17 ` Linus Torvalds
2006-11-16 17:40 ` multi-project repos (was Re: Cleaning up git user-interface warts) Han-Wen Nienhuys
2006-11-16 18:21 ` Linus Torvalds
2006-11-16 18:33 ` multi-project repos Junio C Hamano
2006-11-16 19:01 ` multi-project repos (was Re: Cleaning up git user-interface warts) Linus Torvalds
2006-11-17 16:26 ` Shawn Pearce
2006-11-17 16:45 ` Linus Torvalds
2006-11-17 16:51 ` Carl Worth
2006-11-17 17:08 ` Shawn Pearce
2006-11-17 16:46 ` Carl Worth
2006-11-17 17:15 ` Shawn Pearce
2006-11-17 17:50 ` Marko Macek
2006-11-17 20:24 ` multi-project repos Junio C Hamano
2006-11-17 17:39 ` Junio C Hamano
2006-11-18 6:02 ` Shawn Pearce
2006-11-18 7:31 ` Junio C Hamano
2006-11-18 7:45 ` Shawn Pearce
2006-11-16 22:21 ` multi-project repos (was Re: Cleaning up git user-interface warts) Johannes Schindelin
2006-11-16 22:44 ` multi-project repos Junio C Hamano
2006-11-17 0:29 ` Johannes Schindelin
2006-11-16 22:49 ` multi-project repos (was Re: Cleaning up git user-interface warts) Linus Torvalds
2006-11-16 23:08 ` Linus Torvalds
2006-11-16 23:36 ` Johannes Schindelin
2006-11-17 0:49 ` Linus Torvalds
2006-11-17 1:08 ` Carl Worth
2006-11-17 1:22 ` Johannes Schindelin
2006-11-17 1:52 ` Petr Baudis
2006-11-17 2:16 ` Johannes Schindelin
2006-11-16 23:40 ` Han-Wen Nienhuys
2006-11-16 23:32 ` Han-Wen Nienhuys
2006-11-17 12:53 ` Jakub Narebski
2006-11-16 17:57 ` Cleaning up git user-interface warts Linus Torvalds
2006-11-16 18:27 ` Junio C Hamano
2006-11-16 18:28 ` Linus Torvalds
2006-11-16 19:47 ` Junio C Hamano
2006-11-16 19:53 ` Linus Torvalds
2006-11-16 18:13 ` Carl Worth
2006-11-16 23:00 ` Johannes Schindelin
2006-11-16 23:22 ` Linus Torvalds
2006-11-17 0:05 ` Han-Wen Nienhuys
2006-11-17 0:13 ` Junio C Hamano
2006-11-17 0:27 ` Han-Wen Nienhuys
2006-11-17 0:35 ` Petr Baudis
2006-11-17 0:37 ` Carl Worth
2006-11-17 1:25 ` Carl Worth
2006-11-17 0:39 ` Linus Torvalds
2006-11-17 0:52 ` Han-Wen Nienhuys
2006-11-17 1:34 ` Michael K. Edwards
2006-11-17 6:42 ` Michael K. Edwards
2006-11-17 7:32 ` Junio C Hamano
2006-11-18 1:24 ` Michael K. Edwards
2006-11-17 12:25 ` Jakub Narebski
2006-11-23 2:52 ` Horst H. von Brand
2006-11-16 4:30 ` Petr Baudis
2006-11-15 20:12 ` Petr Baudis
2006-11-15 20:26 ` Nicolas Pitre
2006-11-15 20:50 ` Linus Torvalds
2006-11-15 21:18 ` Nicolas Pitre
2006-11-16 1:51 ` Anand Kumria
2006-11-14 22:36 ` Junio C Hamano
2006-11-14 22:50 ` Junio C Hamano
2006-11-15 4:32 ` Nicolas Pitre [this message]
2006-11-15 5:35 ` Junio C Hamano
2006-11-15 6:18 ` Shawn Pearce
2006-11-15 6:30 ` Junio C Hamano
2006-11-15 14:01 ` Johannes Schindelin
2006-11-15 15:03 ` Sean
2006-11-15 15:10 ` Nicolas Pitre
2006-11-15 18:16 ` Junio C Hamano
2006-11-15 19:02 ` Andy Parkins
2006-11-15 19:41 ` Junio C Hamano
2006-11-15 20:15 ` Nicolas Pitre
2006-11-15 20:19 ` Carl Worth
2006-11-15 21:13 ` Junio C Hamano
2006-11-15 22:36 ` Carl Worth
2006-11-16 3:21 ` Petr Baudis
2006-11-16 10:09 ` Robin Rosenberg
2006-11-16 13:46 ` Petr Baudis
2006-11-16 0:23 ` Han-Wen Nienhuys
2006-11-15 9:17 ` Andy Parkins
2006-11-15 9:59 ` Jakub Narebski
2006-11-15 10:33 ` Andy Parkins
2006-11-15 10:48 ` Karl Hasselström
2006-11-15 11:28 ` Andy Parkins
2006-11-15 15:41 ` Nicolas Pitre
2006-11-15 17:59 ` Junio C Hamano
2006-11-15 18:11 ` Nicolas Pitre
2006-11-16 13:21 ` Karl Hasselström
2006-11-18 11:09 ` Alan Chandler
2006-11-15 17:55 ` Junio C Hamano
2006-11-15 19:14 ` Andy Parkins
2006-11-16 3:53 ` Petr Baudis
2006-11-15 12:15 ` Andreas Ericsson
2006-11-15 12:31 ` Jakub Narebski
2006-11-16 13:58 ` Petr Baudis
2006-11-16 5:12 ` Petr Baudis
2006-11-16 10:45 ` Junio C Hamano
2006-11-16 13:43 ` Petr Baudis
2006-11-16 21:49 ` Junio C Hamano
2006-11-16 22:20 ` Petr Baudis
2006-11-17 1:49 ` Junio C Hamano
2006-11-17 0:11 ` Han-Wen Nienhuys
2006-11-18 7:59 ` Alan Chandler
2006-11-14 23:30 ` [PATCH] commit: Steer new users toward "git commit -a" rather than update-index Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2006-12-27 7:39 [RFH] An early draft of v1.5.0 release notes Junio C Hamano
2006-12-27 8:18 ` Shawn Pearce
2006-12-27 10:12 ` Jakub Narebski
2006-12-27 10:24 ` Junio C Hamano
2006-12-27 11:54 ` Johannes Schindelin
2006-12-27 12:15 ` Jakub Narebski
2006-12-27 12:12 ` Jakub Narebski
2006-12-27 13:00 ` Horst H. von Brand
2006-12-27 19:42 ` Junio C Hamano
2006-12-28 0:49 ` Junio C Hamano
2006-12-28 1:44 ` Nicolas Pitre
2006-12-29 11:56 ` David Kågedal
2006-12-27 19:45 ` Junio C Hamano
2006-12-28 0:32 ` Jakub Narebski
2006-12-27 10:50 ` Junio C Hamano
2006-12-27 12:06 ` Horst H. von Brand
2006-12-28 2:58 ` Junio C Hamano
2006-12-28 11:50 ` Jakub Narebski
2006-12-28 1:45 ` An early draft of v1.5.0 release notes (2nd ed) Junio C Hamano
2006-12-28 2:03 ` Shawn Pearce
2006-12-28 2:20 ` Junio C Hamano
2006-12-28 2:28 ` Shawn Pearce
2006-12-28 2:41 ` Junio C Hamano
2006-12-28 2:47 ` Shawn Pearce
2006-12-28 5:54 ` Junio C Hamano
2007-01-10 7:58 ` An early draft of v1.5.0 release notes (3rd ed) Junio C Hamano
2006-12-28 3:03 ` [RFH] An early draft of v1.5.0 release notes Eric Wong
2006-12-28 5:34 ` Junio C Hamano
2006-12-13 21:35 What's in git.git (stable) Junio C Hamano
2006-12-13 22:37 ` Andy Parkins
2006-12-13 22:48 ` Jakub Narebski
2006-12-14 9:27 ` Andy Parkins
2006-12-14 9:36 ` Shawn Pearce
2006-12-14 10:03 ` Andy Parkins
2006-12-14 17:06 ` Nicolas Pitre
2006-12-15 14:28 ` Jakub Narebski
2006-12-13 23:31 ` Junio C Hamano
2006-12-13 23:52 ` Peter Baumann
2006-12-14 0:16 ` Johannes Schindelin
2006-12-14 3:32 ` Nicolas Pitre
2006-12-14 6:29 ` Junio C Hamano
2006-12-14 7:59 ` git-show, was " Johannes Schindelin
2006-12-14 8:28 ` Junio C Hamano
2006-12-14 10:25 ` Johannes Schindelin
2006-12-14 8:28 ` Andreas Ericsson
2006-12-15 14:39 ` Jakub Narebski
2006-12-14 9:59 ` Andy Parkins
2006-12-14 10:21 ` Junio C Hamano
2006-12-14 11:36 ` Andy Parkins
2006-12-14 11:45 ` Shawn Pearce
2006-12-14 11:58 ` Carl Worth
2006-12-14 12:05 ` Shawn Pearce
2006-12-14 14:03 ` reflog by default?, was " Johannes Schindelin
2006-12-14 18:06 ` Nicolas Pitre
2006-12-14 19:52 ` Junio C Hamano
2006-12-14 20:02 ` Shawn Pearce
2006-12-14 20:22 ` Nicolas Pitre
2006-12-14 20:35 ` Junio C Hamano
2006-12-14 22:41 ` [PATCH] Enable reflogs by default in any repository with a working directory Shawn O. Pearce
2006-12-14 23:10 ` J. Bruce Fields
2006-12-14 23:18 ` Shawn Pearce
2006-12-14 23:42 ` J. Bruce Fields
2006-12-15 0:13 ` Johannes Schindelin
2006-12-15 0:20 ` Shawn Pearce
2006-12-15 21:55 ` Junio C Hamano
2006-12-14 22:44 ` What's in git.git (stable) Shawn Pearce
2006-12-14 21:55 ` Andreas Ericsson
2006-12-15 21:55 ` Junio C Hamano
2006-12-16 2:54 ` Shawn Pearce
2006-12-14 20:17 ` Nicolas Pitre
2006-12-14 20:50 ` Junio C Hamano
2006-12-14 19:58 ` [PATCH] Enable reflogs by default in all repositories Shawn O. Pearce
2006-12-14 17:47 ` What's in git.git (stable) Nicolas Pitre
2006-12-14 21:58 ` Junio C Hamano
2006-12-14 22:50 ` Andy Parkins
2006-12-15 15:38 ` Jakub Narebski
2006-12-15 15:26 ` Jakub Narebski
2006-12-15 15:30 ` Nicolas Pitre
2006-12-15 15:48 ` Andreas Ericsson
2006-12-15 16:08 ` Nicolas Pitre
2006-12-15 16:12 ` Shawn Pearce
2006-12-15 16:13 ` Andreas Ericsson
2006-12-15 23:22 ` Johannes Schindelin
2006-12-15 4:07 ` Nicolas Pitre
2006-12-15 4:15 ` [PATCH] make commit message a little more consistent and conforting Nicolas Pitre
2006-12-15 4:24 ` Shawn Pearce
2006-12-15 8:34 ` Andreas Ericsson
2006-12-15 15:09 ` Shawn Pearce
2006-12-15 15:32 ` Andreas Ericsson
2006-12-15 15:40 ` Shawn Pearce
2006-12-15 15:50 ` Andreas Ericsson
2006-12-15 16:06 ` Nicolas Pitre
2006-12-15 18:21 ` Junio C Hamano
2006-12-15 16:01 ` Nicolas Pitre
2006-12-15 16:08 ` Shawn Pearce
2006-12-15 18:14 ` Junio C Hamano
2006-12-15 20:13 ` Nicolas Pitre
2006-12-16 6:18 ` Junio C Hamano
2006-12-14 21:22 ` What's in git.git (stable) Junio C Hamano
2006-12-14 22:55 ` Andy Parkins
2006-12-14 23:46 ` Junio C Hamano
2006-12-15 8:58 ` Andy Parkins
2006-12-15 9:55 ` Raimund Bauer
2006-12-15 21:55 ` Junio C Hamano
2006-12-15 22:54 ` Carl Worth
2006-12-14 23:53 ` Johannes Schindelin
2006-12-14 23:52 ` Horst H. von Brand
2006-12-15 10:53 ` Jakub Narebski
2006-12-14 0:22 ` Johannes Schindelin
2006-12-14 10:21 ` Andy Parkins
2006-12-14 10:51 ` Johannes Schindelin
2006-12-14 11:23 ` Andy Parkins
2006-12-14 11:27 ` Johannes Schindelin
2006-12-14 12:00 ` Andy Parkins
2006-12-14 12:10 ` Shawn Pearce
2006-12-14 13:20 ` Andy Parkins
2006-12-15 0:15 ` Horst H. von Brand
2006-12-15 0:23 ` Johannes Schindelin
2006-12-14 17:23 ` Nicolas Pitre
2006-12-14 21:02 ` Andy Parkins
2006-12-14 23:03 ` Shawn Pearce
2006-12-15 16:16 ` Jakub Narebski
2006-12-15 21:55 ` Junio C Hamano
2006-12-15 22:48 ` Jakub Narebski
2006-12-15 23:25 ` Johannes Schindelin
2006-12-15 23:45 ` Junio C Hamano
2006-12-16 0:14 ` Johannes Schindelin
2006-12-16 0:30 ` Junio C Hamano
2006-12-16 17:12 ` Steven Grimm
2006-12-16 19:57 ` Junio C Hamano
2006-12-15 23:42 ` Junio C Hamano
2006-12-16 9:14 ` [PATCH] git-clone: use wildcard specification for tracking branches Junio C Hamano
2006-12-16 9:36 ` [PATCH] git-pull: refuse default merge without branch.*.merge Junio C Hamano
2006-12-16 9:41 ` [PATCH] git-clone: lose the artificial "first" fetch refspec Junio C Hamano
2006-12-16 9:53 ` [PATCH] git-clone: lose the traditional 'no-separate-remote' layout Junio C Hamano
2006-12-16 16:53 ` Linus Torvalds
2006-12-16 11:51 ` [PATCH] git-clone: lose the artificial "first" fetch refspec Johannes Schindelin
2006-12-16 16:44 ` [PATCH] git-pull: refuse default merge without branch.*.merge Linus Torvalds
2006-12-16 9:39 ` [PATCH] git-clone: use wildcard specification for tracking branches Jakub Narebski
2006-12-16 9:58 ` What's in git.git (stable) Junio C Hamano
2006-12-16 11:22 ` [PATCH] Document git-merge-file Johannes Schindelin
2006-12-16 13:59 ` What's in git.git (stable) Jakub Narebski
2006-12-16 22:04 ` Junio C Hamano
2006-11-15 6:21 Cleaning up git user-interface warts linux
2006-11-15 6:26 ` Shawn Pearce
2005-07-27 10:01 Git 1.0 Synopis (Draft v2) Ryan Anderson
2005-07-27 22:13 ` Junio C Hamano
2005-07-29 8:27 ` Ryan Anderson
2005-07-29 8:29 ` Git 1.0 Synopis (Draft v3 Ryan Anderson
2005-07-29 10:58 ` Johannes Schindelin
2005-07-29 21:26 ` Sam Ravnborg
2005-07-31 22:18 ` Horst von Brand
2005-07-31 22:15 ` Horst von Brand
2005-08-01 13:21 ` Horst von Brand
2005-08-15 4:55 ` Git 1.0 Synopis (Draft v4) Ryan Anderson
2005-08-15 5:09 ` Ryan Anderson
2005-08-15 5:19 ` Junio C Hamano
2005-08-15 6:58 ` Ryan Anderson
2005-08-15 7:17 ` Junio C Hamano
2005-08-15 8:02 ` Ryan Anderson
2005-08-15 8:17 ` Junio C Hamano
2005-08-15 18:59 ` Daniel Barkalow
2005-08-16 7:28 ` Junio C Hamano
2005-08-16 10:03 ` Johannes Schindelin
2005-08-16 10:14 ` Dongsheng Song
2005-08-16 10:17 ` about git server & permissions Dongsheng Song
2005-08-16 15:31 ` Git 1.0 Synopis (Draft v4) Johannes Schindelin
2005-08-16 15:47 ` Daniel Barkalow
2005-08-16 15:39 ` Daniel Barkalow
2005-08-16 19:41 ` Horst von Brand
2005-08-16 20:41 ` Johannes Schindelin
2005-08-18 9:27 ` Matthias Urlichs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0611142048350.2591@xanadu.home \
--to=nico@cam.org \
--cc=apw@shadowen.org \
--cc=cworth@cworth.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).