git mailing list

FromSubjectsort iconDate
Jon Loeliger
Re: information for a 60-minute "intro to git" needed
For the record, no MS products were used in the creation of those papers, nor the presentations. I wrote plain ASCII text for the papers, and the presentation was done in OpenOffice. After that, however, I don't know how Linux Magazine produced the PDF files for the articles. :-) jdl -
Nov 17, 3:24 pm 2006
Junio C Hamano
Re: information for a 60-minute "intro to git" needed
I thought I saw somebody running an OpenOffice presentation on a windows machine at OLS, and have a vague recollection that it was you ;-). -
Nov 17, 4:27 pm 2006
Jon Loeliger
Re: information for a 60-minute "intro to git" needed
Yes, I _know_ you meant "do well", not "Use MS Excel"... :-) jdl -
Nov 17, 3:31 pm 2006
Junio C Hamano
Re: [PATCH 4/5] allow deepening of a shallow repository
That does not fly so well. Your fetch-pack.c does this in find_common() and dropping the parsed flag inside unregister causes it to be parsed again later with its true parents, which defeats what the commented part of the code wanted to do. if (!lookup_object(sha1)) die("object not found: %s", line); /* make sure that it is parsed as shallow */ parse_object(sha1); if (unregister_shallow(sha1)) die("no shallow found: %s", line); continue; Although I am reasonably sure we can eventu...
Nov 17, 5:09 am 2006
Johannes Schindelin
Re: [PATCH 4/5] allow deepening of a shallow repository
Hi, I fully agree. Even the OA did not understand the code fully ;-) How about adding "int force_reparse" to the signature of unregister_shallow()? (Just like we added "int cleanup" to get_merge_bases() to avoid pilot errors.) Ciao, Dscho -
Nov 17, 5:52 am 2006
Junio C Hamano
Re: [PATCH 4/5] allow deepening of a shallow repository
I do not think that's where its fragility lies. It is that any random place can later call parse_object() on the commit, after you elaborately pre-parsed it with shallow so that it appears to have fewer parents, with the expectation that nobody ever would clear the parsed bit and cause it to be reparsed again. With that assumption, find_common() manipulated the shallow entry after setting that scheme up. A mechanism to prevent the commit from getting re-parsed would have made it more robust. ...
Nov 17, 7:35 am 2006
Steven Grimm
Re: Cleaning up git user-interface warts
Jumping into this a day late, but: Agreed totally on the second point. It would be great if git natively supported everything people use in Cogito. I find myself using native git commands for the most part, except for one Cogito command: "cg-update". It is vastly more convenient than git-pull in large part because it automatically merges upstream changes with uncommitted working-copy changes. I suppose you could classify this as "hide the index" in some sense. Maybe I should give an exa...
Nov 17, 4:30 pm 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
stg pull would help you in such a situation as well, but I see what you mean. Just like we have an explicit -m option to "checkout" to allow file-level merging of local changes, I think it is reasonable to hav an option that allows file-level merging of local changes when doing a pull that you _know_ will not conflict. When there will be a conflict between your HEAD and MERGE_HEAD even without your local changes, you somehow need to sort out the resulting mess that come from conflicts due to t...
Nov 17, 5:35 pm 2006
Petr Baudis
Re: Cleaning up git user-interface warts
I think it would be just great if it worked at least for fast-forwarding case; I think this is where it is actually most useful. Cogito tries to support even the three-way case as long as the changes touch different files, but I'm not sure if it was a good idea to begin with. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/...
Nov 17, 6:07 pm 2006
Michael K. Edwards
Re: Cleaning up git user-interface warts
Actually, this "origin" entry does contain "Pull:" lines for all of the branches that were cloned, so that "git pull" fetches and merges updates to all of these branches. (If upstream is in the habit of reverting things, you may need "git pull -f"; I just did that on the git repo to handle a failure to fast-forward on the "pu" branch.) Presumably "git branch -D" should inspect everything under .git/remotes to see whether one or more Pull: lines need to be deleted along with the branch. Currentl...
Nov 17, 2:42 am 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
I am not sure what you mean. .git/remotes files do not describe any relationship between local branches (and that is where one of the problem raised in recent thread -- pull does not notice on which branch you are on and change its behaviour depending on it), so I do not think there is anything gained for "git branch I muttered something in a near-by thread Message-ID: <7vr6w78b4x.fsf@assigned-by-dhcp.cox.net> I am reasonably sure a separate tool (what I tentatively called "maint-rem...
Nov 17, 3:32 am 2006
Michael K. Edwards
Re: Cleaning up git user-interface warts
.git/remotes/foo does contain Pull: lines which indicate the local branch onto which to _fetch_ remote changes. It's the subsequent _merge_ that doesn't notice which branch you have checked out. Cheers, - Michael -
Nov 17, 9:24 pm 2006
Shawn Pearce
Re: multi-project repos (was Re: Cleaning up git user-interf...
Although if you have reflog enabled on your current branch there is a 1 character shorter syntax: gitk HEAD@{1}.. as recent Git understands that to mean the value that HEAD just had, which is also what is in ORIG_HEAD. Except that unlike ORIG_HEAD it can also show even older values (e.g. HEAD@{3}, 3 ops back) and it works very, very well on tracking branches. "What did I just fetch in next?" `git log next@{1}..next` -- Shawn. -
Nov 17, 12:26 pm 2006
Junio C Hamano
Re: multi-project repos
Are you sure about this? I've seen "next@{1}" to look at history of the named branch, but never history of "HEAD". -
Nov 17, 1:39 pm 2006
Carl Worth
Re: multi-project repos (was Re: Cleaning up git user-interf...
Yes, this was my exact thought when reading what Linus wrote. ORIG_HEAD might be fine and all, but it pales in functionality compared to what reflog provides. I would very much like to see reflog getting first-class citizen support in git: 1. Be on by default 2. Get documented in all the right places, (much better than adding documentation for ORIG_HEAD in my opinion) 3. Tighter integration with branch manipulations. Do we already delete reflog when deleting a branch? We don't have ...
Nov 17, 12:46 pm 2006
Shawn Pearce
Re: multi-project repos (was Re: Cleaning up git user-interf...
I have: git repo-config --global core.logAllRefUpdates true especially since Junio fixed it to only create logs for heads and not tags. That way its on by default for me. But I think it should Agreed. I'm not likely to do it anytime soon however, so I'm hoping Yes, we delete the log when we delete the branch, and we prune back the empty directories too just like we do on the branch side, so that new branches can be correctly created. There was a recent discussion about that from Juni...
Nov 17, 1:15 pm 2006
Marko Macek
Re: multi-project repos (was Re: Cleaning up git user-interf...
Why is it not useful for tags for having logs? I also have a question: Does git-fsck-objects/prune check the ref logs? Mark -
Nov 17, 1:50 pm 2006
Junio C Hamano
Re: multi-project repos
When I make a tag that says "this is the v1.2.0 release", it is expected it won't change in the future, ever. I _can_ make mistake and tag a wrong commit under v1.2.0 name, in which case I may have to replace it with another corrected tag, but recoding that mistake does not really add value. So most of the time ref-log for a tag would contain only one entry per file, its creation, but that creation time is already recorded in the tag object itself anyway. At times, it may be useful to have som...
Nov 17, 4:24 pm 2006
Linus Torvalds
Re: multi-project repos (was Re: Cleaning up git user-interf...
Heh. With a finnish keyboard, that "@" is AltGr+'2', and the '{'/'}' is AltGr+'7'/'0', I guarantee that it's not "1 character shorter", it's "three pretty complicated characters longer" and "off the normal path where you hold your fingers on the keyboard ;) And that's not even mentioning that '{'/'}' is a magic sequence for filename expansion to the shell, so every time I see that, I have to think about it (and it turns out that because there is no comma in between there, it's ok. Other...
Nov 17, 12:45 pm 2006
Shawn Pearce
Re: multi-project repos (was Re: Cleaning up git user-interf...
I forgot that you use a finnish keyboard. :-) I agree with you; its not easier to type, for you. Me, I'm a dumb American who uses a Kinesis keyboard, therefore my left foot is my shift key and its in sync with my fingers. I have no extra pinky load for either syntax. And since the reflog syntax works in a lot more contexts (e.g. after a fetch into a tracking branch) I have just forgotten about ORIG_HEAD entirely. Oh sure, I know its there, but its not something I think about using... -- ...
Nov 17, 1:08 pm 2006
Carl Worth
Re: multi-project repos (was Re: Cleaning up git user-interf...
It's not even all that convenient on a U.S. keyboard. My pinky suffers a bit having to pop on and off of shift for the '{', '1', '}'. Then again, I don't like having to hold shift down for all of ORIG_HEAD either, (but it's definitely easier in comparison). But since reflog does everything ORIG_HEAD does and more, shall we just clean up the syntax somehow? Ideas anyone? And then fix the documentation to explain that? -Carl
Nov 17, 12:51 pm 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
I have no objection to this if it is done in a controlled way that does not make life more difficult for people who work with multiple remote repositories. And I think "git fetch" is the tool for what you want if enhanced properly; see Linus's message that explaind that we already have that support in "manually configurable" form but initializing and maintaining the configuration is currently all manual and can be improved. -
Nov 17, 4:41 am 2006
Carl Worth
Re: Cleaning up git user-interface warts
That's fine with me. Maybe I didn't explain this well before, but my desire is exactly for this to work with multiple repositories. Specifically, what we have in cairo is a "central" shared tree that many people push to. But we only have two branches there, (one for bug-fixes only for our stable releases, and one for ongoing development of new features, and that only of stuff that's well cooked). So that tree looks and acts an awful lot like our cvs tree back in the past. It's often very linea...
Nov 17, 5:18 am 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
This already should be the case if you use separate-remote. I haven't run "clone --separate-remote" myself for a long time, but the design was certainly to make it behave that way. Specifically, map everything in refs/heads/ at remote to refs/remotes/$origin/ with corresponding names, one-to-one. I do not see much reason to change the mapping of master:origin which is done for the traditional layout. The traditional layout is not suitable for your workflow anyway, and that is why you prefer ...
Nov 17, 7:29 am 2006
Johannes Schindelin
Re: Cleaning up git user-interface warts
Hi, I introduced the remote.<nick>.{url,fetch,push} entries into the config with the goal to enhance -fetch to remember the current command line with a setting. I was the only one to find that useful. BTW I still would argue that it is better to write the remote information into the config, because you have a saner way to manipulate that from I think a message like "This remote branch no longer exists. Maybe you want to use 'git branch -d <branch>' to remove it locally?" ...
Nov 17, 6:11 am 2006
Shawn Pearce
Re: Cleaning up git user-interface warts
I'm *fully* in favor of the remote.<nick>.{url,fetch,push} entries in the config file. I've pretty much switched every repository to that format at this point. In writing git-gui I'm finding it much, much easier to manage things through repo-config than to do any mucking around in the .git/remotes directory. Yes, the remote files have simple format, but I can get everything in one "git repo-config --list" pull it all into a Tcl array and work with it; using .git/remotes means I have to o...
Nov 17, 12:58 pm 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
With separate-remote layout, this can be done without risk of tracking refname clashing with local refname, which was the primary reason for an earlier reluctance. While separate-remote layout also solves Carl's "do not want to track tracking branches remote has" problem, local branch namespace can have both for-others (not necessarily "public" but could be "for colleagues") and throwaway branches, so --all is probably not the right thing to do in most cases. But I am Ok with the approach of ...
Nov 17, 7:41 am 2006
Karl
Re: Cleaning up git user-interface warts
Often, it would be a branch or a tag, so no problem there. For commits in general, it should not be hard to compute the set of branches and tags the commit is part of, and in the (probably) common case where this set has exactly one element, the problem is solved. For the remaining cases, it should not be too horrible to ask the user to describe what is being merged. -- Karl Hasselstr
Nov 17, 8:20 am 2006
Junio C Hamano
Re: [PATCH] gitweb: Atom feeds
Seems sane to me. Jakub, how do you like this one? If it looks Ok to you, please arrange to include your one-liner that this depends on and forward a readily applicable patch with appropriate commit log message. -
Nov 17, 5:01 am 2006
Jakub Narebski
Re: [PATCH] gitweb: Atom feeds
True. "<pre>" in RSS feed is better (I don't know if you can give CSS Which one liner? As far as I can see the patch does NOT use href(-full=>1,...) but esc_url(...). Perhaps this is for next patch. BTW I have encountered something calles Atom Publishing Protocol (APP): perhaps we should also add this in addition to currently used OPML. -- Jakub Narebski Torun, Poland ShadeHawk on #git -
Nov 17, 7:36 am 2006
Petr Baudis
Re: [PATCH] git-checkout: allow pathspec to recover lost wor...
Wouldn't it be better to fix git-checkout-index to checkout a whole directory if specified? -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) -
Nov 17, 11:44 am 2006
Eric Wong
Re: git-svn bug?
Sorry for the late replies, I've been caught up with other things. dcommit expects to be run on a git-svn fetch-ed HEAD that is linear superset of remotes/git-svn. That is: remotes/git-svn..HEAD should (ideally) contain no merges, and no root commits. git-svn currently This commit is missing the git-svn-id: line at the bottom. If you simply left it out (private svn repository info), can you check that the URL in this line is actually for the SVN repository you want to commit to? It seems ...
Nov 17, 4:55 am 2006
Troy Telford
Re: git-svn bug?
On Fri, 17 Nov 2006 01:55:10 -0700, Eric Wong <normalperson@yhbt.net> I didn't remove anything, but I did double-check and the URL is correct. But the following may shed light on why there is no git-svn-id anywhere: IIRC, this is how my current repository came to be (from the very beginning): 1.) Way back when, before I even started on the project, it started life as a CVS repository 2.) Was converted from CVS -> SVN in early '05 (pre-git) 3.) I converted from SVN->git i...
Nov 17, 5:17 pm 2006
Thomas Kolejka
Re: Is there a way to trim old SHAs from a git tree (so it's...
-------- Original-Nachricht -------- Datum: Wed, 15 Nov 2006 16:11:57 -0600 Von: Timur Tabi <timur@freescale.com> An: git@vger.kernel.org Is it possible to do this with shallow clone? Shallow clone the local repository my.git (which should be trimmed) starting from the last needed commit to a new local repository my_trimmed.git. And then remove my.git (with something like rm -rf my.git) and rename my_trimmed.git to my.git? Thomas -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekost...
Nov 17, 6:36 am 2006
J. Bruce Fields
Re: [DRAFT] Branching and merging with git
This has some useful material that fills gaps in the existing documentation. We need to think a little more about the intended audience, and about how to fit it in with existing documentation. Who's the audience for the above? I can see that it's useful for administrators, who may need help deciding how to install stuff, and for developers, who need to know where the heck the code for "git-add" came from. But the case I'm most interested in is the user whose distribution installs git for them,...
Nov 17, 1:44 pm 2006
Theodore Tso
Re: [DRAFT] Branching and merging with git
This is really, really good stuff that you've written! Have you any thoughts or suggestions about where this text should end up? Personally, I think this information is actually more important to an end-user than the current "part two" of the tutorial, which discusses the object database and the index file. Perhaps this should be "part 2", and the object database and index file should become "part 3"? It might also be a good to consider moving some of the "discussion" portion the top-level gi...
Nov 17, 11:32 am 2006
J. Bruce Fields
Re: [DRAFT] Branching and merging with git
Yeah, the really difficult problem here is figuring out how to organize the documentation. There are a few needs: 1. Quick-start/task-based documentation - We want to "sell" git to the beginning user by getting them up and running as quickly as possible. - We need to help people with some limited needs-- testers who just need to download the latest linux git tree, or bisect, or whatever. - It's also a fun way to demonstrate the richness of some git features (e.g. history...
Nov 17, 2:21 pm 2006
linux
Re: [DRAFT] Branching and merging with git
I'm working on incorporating all of the comments I've received, so thank you all! (BTW, the reason I didn't document git-describe is that I didn't know about it! You fixed the latter, so I'll fix the former.) I'm glad if others like it, but I was really scratching my own itch. I'm still wrapping my head around how to work with git, and writing this was my own learning experience. Even writing it out in full rather than as rougher notes wasn't an entirely unselfish act; it ensures: 1) I do...
Nov 17, 8:13 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
Yes, and I am actually interested in at least doing the initial damage assessment myself but people are welcome to beat me to it. The easies part would be to just try writing a bare SHA-1 to .git/HEAD with: H=$(git-rev-parse --verify HEAD) echo $H >.git/HEAD git.git itself is full of them, but the very first octopus (it actually is a pentapus) is rather nice to watch in gitk: 211232bae64bcc60bbf5d1b5e5b2344c22ed767e You can look for them with: git rev-list --parents HE...
Nov 17, 8:40 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
Having said that, I think it is not a good idea to talk about octopus in introductory documents. The 'feature' may be unique to git and some people might even find it cool, but new people should not be encouraged to use it until they understand the ramifications. The first ever octopus merge was just a bundle of five forked development branches, each of which had only one commit since it forked from the common parent. .-a-. .--b--. O---c---X '--d--...
Nov 17, 9:11 pm 2006
Sean
Re: [DRAFT] Branching and merging with git
On Fri, 17 Nov 2006 10:32:46 -0500 It would be nice to post this information on the Git website and not have it overshadowed by Cogito examples with paragraphs explaining how Cogito makes things easier. The current website distracts users away from learning Git or ever reading about this kind of information. Maybe we can pass a hat around for some funds for a separate Cogito That's quite a good idea. The name was fixed when the option to move this info into the config file was added (remote.&l...
Nov 17, 11:57 am 2006
Nguyen Thai Ngoc Duy
Re: [DRAFT] Branching and merging with git
Or.. find a way to merge cogito back to git :-) /me runs into a nearest bush. -- Duy -
Nov 17, 12:19 pm 2006
Sean
Re: [DRAFT] Branching and merging with git
On Fri, 17 Nov 2006 23:19:23 +0700 Pasky has already given a lot to Git, and it would be great to see even more merged back into Git where a consensus can be reached. In fact Pasky has said that his plan is to push a lot more towards Git and make Cogito a thinner UI layer. Either way, there's absolutely nothing wrong with people choosing to use Cogito rather than Git. It's just that the separate Cogito tool shouldn't have a place on the Git website any more prominent than say StGit does. The ...
Nov 17, 12:34 pm 2006
Marko Macek
Re: [DRAFT] Branching and merging with git
I agree, this would certainly be the best solution. But it would imply hiding the 'index' by default which would probably an incompatible change. The alternative would be to explain that git is a low level tool suitable mostly for integrators like Linus (that, and that Cogito and/or StGit should be used by developers/contributors). Mark -
Nov 17, 12:25 pm 2006
Petr Baudis
Re: [DRAFT] Branching and merging with git
I think we are trying to figure that out in the last few days in those mammoth threads. UI-wise with no big breakthroughs so far I guess, This is in essence what many people (including Junio) are saying. I'm not saying it's a totally great situation, hence the previous paragraph. -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack(...
Nov 17, 12:33 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
Of course "git log -p --merge -- $path" would give the patch "show $merge" is really "diff-tree --cc -p $merge". So first I should (not necessarily "you should to the readers of this document") talk about three ways to describe a merge commit with textual diffs. (1) N independent diffs between each of the parents and the child. We could get this with git diff-tree -m -p $merge but it is mostly useless, because very often many paths in a merge are truly trivial and the ...
Nov 17, 1:55 am 2006
linux
Re: multi-project repos (was Re: Cleaning up git user-interf...
"The only intuitive user interface is the nipple; all else is learned." As Linus is explaining, the fundamental *problem* is the mental model. Once you know how to break your goals apart into the right kind of pieces, little things like terminology are truly little. I'm not sure that git is sufficiently like anything else that a few well-chosen command names can bring a good analogy to mind. There just isn't a simple analogy that won't lead you astray; you have to understand the thing on its o...
Nov 17, 1:11 am 2006
Johannes Schindelin
Re: multi-project repos (was Re: Cleaning up git user-interf...
Hi, I show him how to use it. And that's actually a fine analogy: While the principle of a screw is quite clever, working with it -- even with an electric screwdriver -- is easy. And the most important part: I never read instructions on how to use it. I saw somebody use it and -- voila! -- I I think that the importance of documentation is overrated. Users have come to expect to use programs without reading a manual. DWIM comes to mind. Ciao, Dscho -
Nov 17, 6:02 am 2006
Sean
Re: multi-project repos (was Re: Cleaning up git user-interf...
On 17 Nov 2006 00:11:57 -0500 The thing is that other SCM's like hg look a lot more like a nipple than Git. And they have the same conceptual models, more or less, to deal with as Git. So why is it so many people think Git has a UI problem where the same complaint isn't levelled at Mercurial? The thing is, the focus of Git has been different, it's been about creating great plumbing. It's had great success at doing that, and anyone who warms up to Git is well rewarded with a tool that gives th...
Nov 17, 1:42 am 2006
Michael K. Edwards
[PATCH] Make "git checkout <branch> <path>" work...
This improves the workflow for, say, kernel subsystem backporting. Signed-off-by: Michael K. Edwards <medwards-linux@gmail.com> --- git-checkout.sh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/git-checkout.sh b/git-checkout.sh index dd47724..5866604 100755 --- a/git-checkout.sh +++ b/git-checkout.sh @@ -106,7 +106,8 @@ Did you intend to checkout '$@' which ca git-ls-tree --full-name -r "$new" "$@" | git-update-index --index-info || exit $? fi - gi...
Nov 17, 1:49 am 2006
previous daytodaynext day
November 16, 2006November 17, 2006November 18, 2006