* Petr Baudis <[EMAIL PROTECTED]> wrote:
> > I think pull is pull. If you are doing lots of local stuff and do not
> > want it overwritten, it should have been in a forked branch.
>
> I disagree. This already forces you to have two branches (one to pull
> from to get the data, mirroring the remote branch, one for your real
> work) uselessly and needlessly.
>
> I think there is just no good name for what pull is doing now, and
> update seems like a great name for what pull-and-merge really is. Pull
> really is pull - it _pulls_ the data, while update also updates the
> given tree. No surprises.
yeah. In fact most of the times i did 'git pull pasky' in the past, the
'merge' phase was unsuccessful, and i had to nuke the tree and recreate
it. All i did with the snapshots was to build them, so there were no
local changes. Waiting a couple of days with doing a 'git pull pasky',
or installing Linus' tree is a sure way to break the merging.
e.g. to reproduce the last such failure i had today, do:
cd git-pasky-base
echo 8568e1a88c086d1b72b0e84ab24fa6888b5861b9 > .git/HEAD
read-tree $(tree-id $(cat .git/HEAD))
checkout-cache -a -f
make
make install # make sure to use the older tools
rm -rf .git/objects
git pull pasky
and i get:
[...]
fatal: unable to execute 'gitmerge-file.sh'
fatal: merge program failed
Conflicts during merge. Do git commit after resolving them.
note that with earlier versions of pasky, i had other merge conflicts.
Sometimes there were .rej files, sometimes some sort of script failure.
So it seems rather unrobust at the moment. Especially if i happen to
install Linus' tree and try to sync the pasky tree with those tools.
another thing: it's confusing that during 'git pull', the rsync output
is not visible. Especially during large rsyncs, it would be nice to see
some progress. So i usually use a raw rsync not 'git pull', due to this.
yet another thing: what is the canonical 'pasky way' of simply nuking
the current files and checking out the latest tree (according to
.git/HEAD). Right now i'm using a script to:
read-tree $(tree-id $(cat .git/HEAD))
checkout-cache -a
(i first do an 'rm -f *' in the working directory)
i guess there's an existing command for this already?
Ingo
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html