| From | Subject | Date |
|---|---|---|
| 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 | Re: Git can't merge two identical move file operation
Thanks ! This works !
-
| 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 day | today | next day |
|---|---|---|
| November 15, 2006 | November 16, 2006 | November 17, 2006 |
| Ingo Molnar | [bug] block subsystem related crash with latest -git |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Adrian Bunk | Re: net/ipv4/fib_trie.c - compile error (Re: 2.6.23-rc3-mm1) |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
