git-symbolic-ref HEAD returns master reference, even if the file does
not exists. That prevents the initial checkout and fails in
git-rev-parse. The patch checks the existence of the reference file
before assuming an original branch exists. There might be better
solutions than checking file existence.
---
git-cvsimport.perl | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
From: Martin Langhoff <hidden> Date: 2016-06-15 22:44:23
Marc-Andre Lureau wrote:
git-symbolic-ref HEAD returns master reference, even if the file does
not exists. That prevents the initial checkout and fails in
git-rev-parse.
But you are patching the block that gets triggered on subsequent
imports, this code does not deal with "initial checkout" unless
something else is wrong. The line right above the open() is an else that
has the block that matters.
The patch checks the existence of the reference file
before assuming an original branch exists. There might be better
solutions than checking file existence.
There are indeed. If we need this patch -- then you can call git
ref-parse right to see if you get a sha1.
- unless ($last_branch) {
+ if (-f "$git_dir/$last_branch") {
Note that the file won't exist there in any modern git. It will be in
$git_dir/refs/heads/$last_branch. Did you test this patch?
What's your workflow with cvsimport? Perhaps you are doing something
strange with it... :-)
cheers,
martin
--
-----------------------------------------------------------------------
Martin @ Catalyst .Net .NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
NZ: +64(4)916-7224 MOB: +64(21)364-017 UK: 0845 868 5733 ext 7224
Make things as simple as possible, but no simpler - Einstein
-----------------------------------------------------------------------
Hi
On Fri, Mar 14, 2008 at 12:18 AM, Martin Langhoff
[off-list ref] wrote:
Marc-Andre Lureau wrote:
> git-symbolic-ref HEAD returns master reference, even if the file does
> not exists. That prevents the initial checkout and fails in
> git-rev-parse.
But you are patching the block that gets triggered on subsequent
imports, this code does not deal with "initial checkout" unless
something else is wrong. The line right above the open() is an else that
has the block that matters.
Yeah, it failed in the middle of a ~4h import, I did not restart it.
git-cvsimport -r cvs -p b,HEAD -k -m -a -v -d
:pserver:anoncvs@anoncvs.freedesktop.org:/cvs/gstreamer -C
gst-plugins-good gst-plugins-good
This is a quite problematic CVS, btw. (missing patches/files in the
end, branch merge fail ... see my previous patch)
> The patch checks the existence of the reference file
> before assuming an original branch exists. There might be better
> solutions than checking file existence.
There are indeed. If we need this patch -- then you can call git
ref-parse right to see if you get a sha1.
Ok, which one is prefered? ref-parse I guess? I am mostly ignorant of
all the plumbing stuff.
> - unless ($last_branch) {
> + if (-f "$git_dir/$last_branch") {
Note that the file won't exist there in any modern git. It will be in
$git_dir/refs/heads/$last_branch. Did you test this patch?
Crap. The patch indeed worked, because the file did not exist. The
second time it also worked:
skip patchset 5825: 1205277122 before 1205418644
skip patchset 5826: 1205418644 before 1205418644
DONE.
Already up-to-date.
*** Building gst-plugins-good *** [1/145]
make -j2
Result is here: http://git.infradead.org/users/elmarco/gst-plugins-good.git
Thanks for the review!!
--
Marc-André Lureau
Hi again,
Btw, the missing checkout file is,
sys / osxvideo / Makefile.am
I have a clue why (strange version number), but no idea how to fix it.
--
Marc-André Lureau
Hi
On Fri, Mar 14, 2008 at 12:18 AM, Martin Langhoff
[off-list ref] wrote:
> - unless ($last_branch) {
> + if (-f "$git_dir/$last_branch") {
Note that the file won't exist there in any modern git. It will be in
$git_dir/refs/heads/$last_branch. Did you test this patch?
git-symbolic-ref HEAD do return "refs/heads/master" on my initial
in-the-middle checkout (I still have a copy),
So it seems correct for now, but i'll change it to use rev-parse
instead as it seems more correct.
Regards
--
Marc-André Lureau
From: Martin Langhoff <hidden> Date: 2016-06-15 22:44:23
Marc-André Lureau wrote:
Yeah, it failed in the middle of a ~4h import, I did not restart it.
there are no guarantees then of correctness (there seldom are, but a
failed import can leave your repo in a number of odd states...).
I'd suggest parsecvs for the initial import of a messy repo. You can
continue to do incrementas with cvsimport after the initial import.
cheers,
m
--
-----------------------------------------------------------------------
Martin @ Catalyst .Net .NZ Ltd, PO Box 11-053, Manners St, Wellington
WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St
NZ: +64(4)916-7224 MOB: +64(21)364-017 UK: 0845 868 5733 ext 7224
Make things as simple as possible, but no simpler - Einstein
-----------------------------------------------------------------------