git mailing list

FromSubjectsort iconDate
Petr Baudis
[ANNOUNCE] Cogito-0.18.2
Hello, I've released cogito-0.18.2, bringing a couple of bugfixes and a trivial new feature to cogito-0.18.1. Still nothing too groundshattering. * cg-log does not follow history across renames anymore; it never really actually worked and was instead causing problems and random error messages. There needs to be git-core support for this funcionality, hacking it with a perl filter is bad design, so I'm not going to fix the filter (but I'd take patches if someone else did ;). * Fix c...
Nov 16, 8:49 pm 2006
Martin Langhoff
Re: [ANNOUNCE] Cogito-0.18.2
I was looking at the follow renames Perl script last week (hey, I was bored!) and while I could tell it didn't work, I did get the feeling that it wasn't an impossible task, at least for the 'explicit paths' case. For the 'whole tree' and subpath cases it _is_ tricky, and would be faster to solve within git, but not impossible. And even then, I am tempted to think that git log could provide some better hints than it does today when walking the whole tree or subpaths, so that cg-log or gitk can as...
Nov 16, 9:44 pm 2006
Petr Baudis
Re: [ANNOUNCE] Cogito-0.18.2
Yes. It's fixable, but IIRC the current script is fairly broken; I'd have to look at it again to remember why, but I think I wrote it to a comment inside there somewhere. Exactly because this information is really something core Git should provide, and I'm feeling bad for not pushing this kind of functionality to core Git and instead going at lengths implementing it in Cogito. The conceptually proper solution I'd imagine is [ message continues ]
" title="http://news.gmane.org/find-root.php?message_id=<20060515203700....">http://news.gmane.org/find-root.php?message_id=<20060515203700....
Nov 16, 9:58 pm 2006
Top-Rated Software
New software uploaded by Martha on Nov 17 01:00:00 MSK 2006
Martha has uploaded some new software for you! Click here to view available updated software: http://era-oem.com/?Martha pseudo-device gzip significant dedication to the project are even often asked to join the for the vendor to use UARTs that are compatible with the 8250, 16450, supposed to send +12 VDC or -12 VDC, and the receiver is supposed to printer named rattan: bsd.port.mk file which can be found in /usr/share/mk. This file uses a That DMA channel is now considered to be ``armed''...
Nov 16, 6:22 pm 2006
linux
[DRAFT] Branching and merging with git
I know it took me a while to get used to playing with branches, and I still get nervous when doing something creative. So I've been trying to get more comfortable, and wrote the following to document what I've learned. It's a first draft - I just finished writing it, so there are probably some glaring errors - but I thought it might be of interest anyway. * Branching and merging in git In CVS, branches are difficult and awkward to use, and generally considered an advanced technique. Many p...
Nov 16, 6:17 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
This is a very important point to remember not for users but for It is not "somewhere" but "in the current branch", so in a sense it is a bit stricter than that. While on 'master' "branch -d topic" would not remove the topic branch head if it is not fully merged to my 'master' so that is a reasonable safety measure, but when I am on 'next' it will happily remove it. It is One bug in my previous response is that I said we do this only when the command was invoked with shorthand remote name. ...
Nov 16, 9:09 pm 2006
linux
Re: [DRAFT] Branching and merging with git
Overall, thank you. I'm trying to merge all your comments into the document to make it better, but there are enough that There's a great example coming up, in the git-show Oh! Thanks for the info. The limitation makes a certain amount of sense, and as I'd never run into it, I'm not going to I figured the (excellent) pictures in git-rebase would save me the I'm wondering what the heck that does! I get a super-short diff with no mention of any renames at all. Is this passed...
Nov 16, 11:17 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
This is a greatest write-up I've seen for the past several months. I find it very balanced to point out the quirks people would find difficult and explain why things are so by including historical notes in appropriate places when needed. Definitely Documentation/ material when copyediting is done. I have finished only the first half because it's not my git day You might want to check this with the array in sha1_name.c::get_sha1_basic(). It's great that you talk correctly about the latest fe...
Nov 16, 7:47 pm 2006
linux
Re: [DRAFT] Branching and merging with git
I'm trying; I've been following git since day 1, so occasionally an obsolete fact gets stuck in my head. If anyone has any advice on how and why one would invoke git-merge directly (the one why I know is to do a >2-way merge), that would Quite right. It's static const char *fmt[] = { "%.*s", "refs/%.*s", "refs/tags/%.*s", "refs/heads/%.*s", "refs/remotes/%.*s", "refs/remotes/%.*s/...
Nov 16, 9:13 pm 2006
Junio C Hamano
Re: [DRAFT] Branching and merging with git
I use "git pull . topicA topicB" for a tetrapus, so that is not a reason for me, but when a topicA's older parts are worthy to be in 'next' while later parts are not yet, I often do (on 'next'): git merge "Merge early part of branch 'topicA'" HEAD topicA~3 Also I used to do git merge fast HEAD someTopicIknowIsAFastForward because it felt faster than "git pull . someTopicIknowisAFastForward" I do not think naming a directory (say, ".") to mean "revert everything underneath this direct...
Nov 16, 9:31 pm 2006
Johannes Sixt
Is cp -al safe with git?
For one reason or another I would like to "clone" a local repo including the checked-out working tree with cp -al instead of cg-clone/git-clone, i.e. have all files hard-linked instead of copied. Can the copies be worked on independently without interference (with the git tool set)? One thing I noticed is that git-reset or probably git-checkout-index breaks links of files that need not be changed by the reset. Example: # make 2 files, commit $ mkdir orig && cd orig $ git-init-db def...
Nov 16, 2:47 pm 2006
Junio C Hamano
Re: Is cp -al safe with git?
Most likely you didn't run "update-index --refresh" after "cp -l"? Not just in the new copied repository but in the original repository I would suspect you would see this. This is because the index caches ctime and making a new hardlink manipulates the files' inodes, thus making the cached information stale. -
Nov 16, 3:19 pm 2006
Linus Torvalds
Re: Is cp -al safe with git?
We _tried_ to make sure it is ok, but since it's not a normal mode of Yes and no. They do _not_ actually break links of files that they know stay the same, but your example breaks the internal knowledge by using that "cp -al". That changes the modification time of the inodes, so git thinks that the files _may_ have changed, and when you do a "git reset", If you do a git update-index --refresh (or, more easily, a "git status", which will do the index refresh for you) before you...
Nov 16, 3:19 pm 2006
Valyusha
Re[2]: Good mood to you!
Hello to you! The most important thing in life is love and healthy and strong relationships... That's the thing I desire most of all! Nothing in life can change it, neither money or anything else... I am an ordinary girl with a big and lonely heart... I don't have very high demands to the second half, I want my man to be sensitive, caring and attentive... I want to give my love and tenderness to the only man! If you are looking for a lady, if you are lonely too or your heart misses warmth and attentio...
Nov 16, 2:52 pm 2006
Sean
git-PS1 bash prompt setting
Ted mentioned in the wart thread that having multiple branches per repo means that the standard bash prompt isn't as much help as it could be. For what it's worth i'll post a little script i've been using for quite some time that helps a little. It's called git-PS1 and is used by including it in your bash PS1 variable like so: export PS1='$(git-PS1 "[\u@\h \W]\$ ")' If you're not in a git repo, the bash prompt you pass on the git-PS1 command line is used instead. If you are in a git repo, y...
Nov 16, 2:01 pm 2006
Junio C Hamano
Re: git-PS1 bash prompt setting
Yes, I think this is common issue for everybody not just people who worked with BK or mercurial. I find myself almost typing "pwd" to find out what branch I am on (I do not go as far as typing "git cd" to switch branches, though). -
Nov 16, 2:35 pm 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
Yes, "git diff" is a Porcelain. No question about it. I do not consider the current behaviour of "git diff HEAD" that complains instead of giving runs of "foo is a new file and no diff is available for it" a bug; you asked for diff from some commit but the commit you gave was bogus (does not exist yet). But if you feel strongly about it, it should be trivial to special case the yet-to-be-born HEAD case and run the equilvalent of: git ls-files | sed -e 's/$/ is a new file, no diff is availabl...
Nov 16, 6:36 am 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
I had a bit different feeling about yesterday's discussion myself. If somebody uses git like you do in "truly distributed way", the current pull behaviour and pull being an operational mirror to push are natural consequence of the model and concepts, and there is nothing to fix (modulo "the default merge source per branch" should be made easier to use). Renaming the pull to merge would not make it any easier to use unless the underlying model is understood, and I fully agree with you on that. ...
Nov 16, 6:31 am 2006
Alexander Litvinov
Git can't merge two identical move file operation
Hello, I have a git repo build using cvsimport. It has 'bad' directory structure and I want to 'fix' it after each incremental update from cvs. Here is the idea: I have 2 permanent branches master (to work with) and cvs (to import from cvs) and one temporary branch to move files across the project to make directory structure better. Movement operation is always the same: move directories/files from one place to another. But merging from temp branch to work branch fail with error text : CONFLICT (...
Nov 16, 6:26 am 2006
Junio C Hamano
Re: Git can't merge two identical move file operation
Could you try an exactly the same sequence except to make the initial contents of the file 'a' a bit more meaningful (I typically use COPYING file in git.git repository for something like this), by replacing the above "echo 1 > a ..." line with: $ cat COPYING >a && git add a && git commit -a -m '1' and see if it still breaks? You do not need to change the later modification to the file (i.e. "echo 2 >>a"), but only the above single line change. -
Nov 16, 7:32 am 2006
Alexander Litvinov Nov 16, 8:25 am 2006
Alexander Litvinov
Re: Git can't merge two identical move file operation
Wow, that a magic ! It works ! Thanks for help. P.S. First mail was rejected by my MTA, this is a resend of that mail -
Nov 16, 8:23 am 2006
Alexander Litvinov
Re: Git can't merge two identical move file operation
Wow, that a magic ! It works ! Thanks for help. -
Nov 16, 8:14 am 2006
Richard CURNOW
Re: Cleaning up git user-interface warts
Sounds good to me. When I'm merging in my own projects, I currently always use merge (possibly preceded by fetch) rather than pull. Why? Because I don't want my history full of commit messages like Merge branch "trial_hack" from "../scratch_dir_with_silly_name" In contrast to Linus's case of wanting to record where the remote merge came from, I expressly don't want to record that - I want the merge commit to describe conceptually what was being merged with what. OK, I could use probably ...
Nov 16, 3:51 am 2006
Johannes Schindelin
Re: Cleaning up git user-interface warts
Hi, For the moment, if you forget --no-commit, you can always do a "git-commit --amend" -- even with merges. Hth, Dscho -
Nov 16, 7:01 pm 2006
Seth Falcon
Re: git-svn bug?
Yes, but be warned. As I just discovered, dcommit always commits up to the HEAD of the current branch. So I just did: git-svn dcommit remotes/git-svn..HEAD~3 And the ~3 was ignored. :-( Not a bug, as the doc says that dcommit operates on HEAD, but it would be convenient to have this work -- especially since reviewing with diff (or better log -p) seems natural. + seth -
Nov 16, 11:32 am 2006
Seth Falcon Nov 16, 11:27 am 2006
Martin Langhoff
Re: how to authenticate with git-svn on a subversion reposit...
Hi Comete, authentication with the SVN stuff is really weird. git-svn and git-svnimport use the SVN libraries so that means that if you do svn login proto://host/path/to/repo git-svn proto://host/path/to/repo it works because svn magic cookies get stored in ~/.svn. cheers, martin -
Nov 16, 2:59 am 2006
Andreas Fuchs
[PATCH] gitweb: Atom feeds (was: gitweb: Make RSS feed outpu...
That's ok for rendered HTML output, but in my experience, the way feed readers interpret that ranges from "badly" to "not at all"; it's better to stick to explicit structure hints only in feeds. /-: I can see that, but it would be very useful on aggregation sites like http://planet.sbcl.org/. You mentioned on IRC that you'd prefer to forward-port the current RSS generation to a more modern feed format like Atom 1.0. I took the liberty to back out that change from the RSS generator, and imple...
Nov 16, 5:45 pm 2006
Theodore Tso
Re: Cleaning up git user-interface warts
Well, when I was using BitKeeper, I never would. Bitkeeper has what Linus calls the broken "repository == branch" model. So normally I would have one repository where I would track the upstream branch, and only do bk pull into that branch. I would do my hacking in another repository (i.e., branch), and periodically keep track wha was going on in mainline by cd'ing to the mainline repository and doing the bk pull there. The challenge when you put multiple branches into a single repository, i...
Nov 16, 12:07 pm 2006
Theodore Tso
Re: Cleaning up git user-interface warts
Err, what I meant to say is that there are going to be a lot of people who will need to simultaneously use both git and Hg. - Ted -
Nov 16, 12:49 pm 2006
Alexandre Julliard
Re: Cleaning up git user-interface warts
We do that for Wine. The problem is that we recommend using git-rebase to make it easier for occasional developers to keep a clean history, and rebase and pull interfere badly. The result is that we recommend always using fetch+rebase to keep up to date, but this is confusing many people too, because git-fetch appears to do a lot of work yet leaves the working tree completely unchanged, and git-rebase doesn't do anything (since in most cases they don't have commits to rebase) but has an apparentl...
Nov 16, 7:34 am 2006
Petr Baudis
Re: Cleaning up git user-interface warts
How do those developers submit their changes? Do they push? If they do, git-rebase can be saving one merge at most, and the merge is actually a good thing (someone should write some nice standalone writeup about that). If they don't have push access and maintain their patches locally until they get accepted, perhaps it would be far simpler for them to use StGIT? -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('...
Nov 16, 10:01 am 2006
Alexandre Julliard
Re: Cleaning up git user-interface warts
For regular developers, sure. But regular developers will need to properly understand the git model anyway, and then they will able to make sense even of the standard git commands ;-) The problem is that there isn't a smooth progression to that point. At first, a user will simply want to download and build the code, and for that git-pull works great, it's a one-stop command to update their tree. Then after a while the user will fix a bug here and there, and at that point git-rebase is IMO t...
Nov 16, 11:48 am 2006
Johannes Schindelin
Re: Cleaning up git user-interface warts
Hi, Never ever underestimate pet peeves. If we give many people an obvious reason (however trivial and bike-shed-coloured) to complain, they will complain. If we pull (pun intended) that reason away under their collective backsides, they will have to find another reason to complain. But by the time they found something, they will already be happy git users! But since you just provided a patch to make life easier on non-gitters, I guess you agree with that already. And hopefully you a...
Nov 16, 7:00 pm 2006
Linus Torvalds
Re: Cleaning up git user-interface warts
I do actually think that this discussion has been informative, partly because I never even realized that some people would ever think to do "init-db" + "pull". Making things like that work is easy enough, it's just that I never saw any point until people complained. And when they complained, the initial complaint wasn't actually obvious. Only when Han-Wen actually gave something that didn't work, was it clear that the real issue wasn't so I definitely think we can make "git merge" ha...
Nov 16, 7:22 pm 2006
Han-Wen Nienhuys
Re: Cleaning up git user-interface warts
I agree that discussions on naming may cloud the issue, but "learning the workflow" implies that people should adapt to the limitations of their tools. That's only a viable stance when the tools are finished and completely perfect. Until that time, it would be good goal to remove all idiosyncrasies, all gratuitious asymetries and needless limitations in the commands of git, eg. - clone but not a put-clone, - pull = merge + fetch, but no command for merge + throw - clone for gettin...
Nov 16, 8:05 pm 2006
Michael K. Edwards
Re: Cleaning up git user-interface warts
I think there's a fundamental assumption built into the design of git that most programmers accustomed to a corporate environment don't understand. Namely, that each programmer owns his or her entire "repository", and can do whatever he or she darn well pleases with it at any time. Go ahead and create hundreds of transient branches as part of a scripted "merge complexity metric" calculation. Try three different refactoring strategies on different branches, abandon two of them, and prune them month...
Nov 16, 9:34 pm 2006
Linus Torvalds
Re: Cleaning up git user-interface warts
As mentioned, in order to "put-clone", you generally have to "create" first, so the "put-clone" really makes no sense. The _true_ reverse is really your - "git init-db" on both sides - "git pull" (your workflow ;) on receiving - "git push" on sending. The fact that we can do "git clone" on the _receiving_ side is an assymmetry, but it's not gratutous: when receiving we don't need any extra permissions or setup to create a new archive. In contrast, when sending, Again, thi...
Nov 16, 8:39 pm 2006
Han-Wen Nienhuys
Re: Cleaning up git user-interface warts
Point taken; thank you. In that case, we're full circle with the command naming issues. Push and pull are fundamentally asymmetric operations, but then a consistent UI would dictate that they wouldn't be named symmetrically, as they are now. -- Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen -
Nov 16, 8:52 pm 2006
Junio C Hamano
Re: Cleaning up git user-interface warts
This one I can understand, but how would you propose to "update all branches", in other words what's your design for mapping remote branch names to local branch namespaces? It would be nice if the design does not straightjacket different repository layouts different people seem to like, but I think it would be Ok to limit ourselves only to support the straight one-to-one mapping and support only separate-remote layout. -
Nov 16, 8:13 pm 2006
Carl Worth
Re: Cleaning up git user-interface warts
What I want here is a command "git update" that fetches and fast-forwards the all branches which are designated as "tracking" a branch in some known remote repository. And git-clone would setup all branches appropriately so that they would be updated by git-update. Additionally, it would be nice if git-update would also create new tracking branches for all remotes repositories that had been designated as being tracked, (and git-clone would do this as well). There should also be a mechanism to e...
Nov 16, 9:25 pm 2006
Carl Worth
Re: Cleaning up git user-interface warts
As long as its consistent with "clone" I'll be happy, (I think as part of a separate topic we need to fix the mappings in clone, see --use-separate-remotes as default and related). The current case is really annoying where I have to throw use clone into a new repository just to get everything, rather than just being able to fetch everything into the repository I already have. -Carl
Nov 16, 8:37 pm 2006
Han-Wen Nienhuys
Re: Cleaning up git user-interface warts
put clone would be the putative inverse of clone, ie. make a clone of throw is the hypothetical opposite of fetch. I agree that this is academical, because it's logical to only allow fast-forwards for I think the whole clone design is a bit broken, in that the "master" branch gets renamed or copied to "origin", but all of the other branches remain unchanged in their names. It's more logical for clone to either * leave all names unchanged * put all remote branches into a subdirectory. ...
Nov 16, 8:27 pm 2006
Petr Baudis
Re: Cleaning up git user-interface warts
So effectively to tell git push not to unpack on the remote side, and to push all branches and relevant tags. That's basically exactly what git clone --use-separate-remote should do. Now only if it would become the default... :-) -- 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 16, 8:35 pm 2006
Han-Wen Nienhuys
Re: Cleaning up git user-interface warts
> I claim that those "annoying little issues" are totally made up by > people > who had trouble wrapping their minds about git, and then make up > reasons > that have nothing to do with reality for why that might be so. Let me put this more personally: I continue to be bitten by stupid naming issues, and the myriad of little mostly non-orthogonal commands. My head is doing just fine otherwise, and has no problems wrapping it around the core of GIT. I've also used Darcs for...
Nov 16, 6:45 am 2006
Linus Torvalds
Re: Cleaning up git user-interface warts
Your example has nothing at all to do with "pull" vs "fetch", though. Your example is about something totally _different_, namely that under Bzzt. This is where you went wrong, and you blamed "pull". The way you do this in git is to NOT do "git init". Instead, you replace all the mkdir y cd ../y hg init hg pull ../x with a simple git clone x y and YOU ARE DONE. Now, we could certainly _make_ "git pull" work on an empty git project, but that has _nothing_ to do with...
Nov 16, 12:23 pm 2006
Han-Wen Nienhuys
Re: Cleaning up git user-interface warts
Actually, only a 2 weeks ago, you suggested that I share the website and main source code for my project in a single repository for reasons of organization. In this setup I find it logical to do git init-db git pull ..url.. website/master to wind up with just the 5mb website, instead of the complete 70mb Yes, I would like that. -- Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen -
Nov 16, 12:42 pm 2006
Linus Torvalds
Re: Cleaning up git user-interface warts
I don't disagree per se. It should be easy to support, it's just that it's not traditionally been something we've ever done. So the way you'd normally set up a single repo that contains multiple other existing repositories is to basically start with one ("git clone") and then add the other branches and "git fetch" them. So again, instead of "git init-db" + "git pull", you'd just use "git clone" instead. Note that there _is_ another difference between "git pull" and "fetch+merge". Th...
Nov 16, 1:17 pm 2006
Carl Worth
Re: Cleaning up git user-interface warts
For that we'd also need a way for clone to be able to fetch just a single branch, and not all of them as well. There is some clone vs. fetch asymmetry here that has annoyed me for a while, and that I don't think has been mentioned in this thread yet. Namely: clone: can only be executed once, fetches all branches, "remembers" URLs for later simplified use fetch: can be executed many times, fetches only named branches, doesn't remember anything for later I've often been in the...
Nov 16, 2:13 pm 2006
previous daytodaynext day
November 15, 2006November 16, 2006November 17, 2006