Closed Bug 1189650 Opened 9 years ago Closed 9 years ago

Clone hg.mo/users/Callek_gmail.com/tools to hg.mo/SeaMonkey/tools

Categories

(Developer Services :: Mercurial: hg.mozilla.org, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ewong, Assigned: fubar)

References

Details

At first I had planned to clone off the old repo and push the whole 
thing (including new changesets) to the new repo.

I tried the following:

Option 1)
- hg clone http://hg.mozilla.org/users/Callek_gmail.com/tools tools
- cd tools
- <patch committed>
- hg push ssh://hg.mozilla.org/SeaMonkey/tools

That didn't work.

Option 2)
- hg clone http://hg.mozilla.org/SeaMonkey/tools newtools
- cd newtools
- hg pull ../tools
- hg push ssh://hg.mozilla.org/SeaMonkey/tools

Both situations gave me the following error:

$ hg push ssh://hg.mozilla.org/SeaMonkey/tools -e 'ssh -l ewong@pw-wspx.org'
pushing to ssh://hg.mozilla.org/SeaMonkey/tools
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2977 changesets with 6277 changes to 1075 files
remote: *** pushing unrelated repository ***
remote:
remote: Changeset 663964646638 introduces a new root changeset into this repository. This
remote: almost certainly means you accidentally force pushed to the wrong
remote: repository and/or URL.
remote:
remote: Your push is being rejected because this is almost certainly not what you
remote: intended.
remote: transaction abort!
remote: rollback completed
remote: abort: pretxnchangegroup.single_root hook failed

I was hoping to do this myself; but I think I'll need some help in doing
the cloning (unless it's just a |hg push -f ..|.. in which case, i can
do that and I'll wfm this bug.)
It should probably be cloned on the server anyway so pushlog data is retained. If you do a clone/push yourself, pushlog data is lost.

If you `hg init` the new repo on the server then `hg pull` from it, pushlog data should be fetched.
Blocks: 1121281
(In reply to Gregory Szorc [:gps] from comment #1)
> It should probably be cloned on the server anyway so pushlog data is
> retained. If you do a clone/push yourself, pushlog data is lost.
> 
> If you `hg init` the new repo on the server then `hg pull` from it, pushlog
> data should be fetched.

Is this do-able by me?  I don't have access to the server, do I?
(In reply to Edmund Wong (:ewong) from comment #2)
> (In reply to Gregory Szorc [:gps] from comment #1)
> > It should probably be cloned on the server anyway so pushlog data is
> > retained. If you do a clone/push yourself, pushlog data is lost.
> > 
> > If you `hg init` the new repo on the server then `hg pull` from it, pushlog
> > data should be fetched.
> 
> Is this do-able by me?  I don't have access to the server, do I?

No, it's not doable by you on the server, unless it's a user repo. I suspect :gps missed the point that you want to push to a non-user repo.

The original repo request (bug 1186269) just asked for an empty one. So you have two choices:
 a) have us temporarily disable that hook for this repo, so you can push (looses pushlog as noted in comment 1)
 b) have us recreate SeaMonkey/tools as a clone of users/Callek_gmail.com/tools

Once that is determined, we can put the request in the queue.
Flags: needinfo?(ewong)
(In reply to Hal Wine [:hwine] (use NI) from comment #3)
> (In reply to Edmund Wong (:ewong) from comment #2)
> > (In reply to Gregory Szorc [:gps] from comment #1)
> > > It should probably be cloned on the server anyway so pushlog data is
> > > retained. If you do a clone/push yourself, pushlog data is lost.
> > > 
> > > If you `hg init` the new repo on the server then `hg pull` from it, pushlog
> > > data should be fetched.
> > 
> > Is this do-able by me?  I don't have access to the server, do I?
> 
> No, it's not doable by you on the server, unless it's a user repo. I suspect
> :gps missed the point that you want to push to a non-user repo.
> 
> The original repo request (bug 1186269) just asked for an empty one. So you
> have two choices:
>  a) have us temporarily disable that hook for this repo, so you can push
> (looses pushlog as noted in comment 1)
>  b) have us recreate SeaMonkey/tools as a clone of
> users/Callek_gmail.com/tools
> 
> Once that is determined, we can put the request in the queue.

I'm sorry for the confusion.  I had thought that originally that I could just
take the code from Callek's tools  and push it to hg.mo/SeaMonkey/tools (kinda
like how git does it) but as mentioned in other comments, I can't.  I should
have clarified my intention earlier.

So you can just blow away the current SeaMonkey/tools repo and copy/move
Callek's tools to it. 

Thanks Hal!
Flags: needinfo?(ewong)
I was wondering if you could point out who I can talk to to get the 
repo copied/migrated over?
Flags: needinfo?(hwine)
(In reply to Edmund Wong (:ewong) from comment #5)
> I was wondering if you could point out who I can talk to to get the 
> repo copied/migrated over?

I'm on it!


(In reply to Gregory Szorc [:gps] from comment #1)
>
> If you `hg init` the new repo on the server then `hg pull` from it, pushlog
> data should be fetched.

Or not?

hgssh1.dmz.scl3# hg pull
pulling from /repo/hg/mozilla/users/Callek_gmail.com/tools
requesting all changes
adding changesets
adding manifests
adding file changes
added 2976 changesets with 6175 changes to 973 files
(not updating pushlog since changesets come from pull)
(run 'hg update' to get a working copy)\



pretxnchangegrouphook() seems to override exchangepullpushlog() but I'm not sure the right way around this.
Assignee: nobody → klibby
Status: NEW → ASSIGNED
Flags: needinfo?(hwine) → needinfo?(gps)
(In reply to Kendall Libby [:fubar] from comment #6)
> (In reply to Edmund Wong (:ewong) from comment #5)
> > I was wondering if you could point out who I can talk to to get the 
> > repo copied/migrated over?
> 
> I'm on it!
> 
> 
> (In reply to Gregory Szorc [:gps] from comment #1)
> >
> > If you `hg init` the new repo on the server then `hg pull` from it, pushlog
> > data should be fetched.
> 
> Or not?
> 
> hgssh1.dmz.scl3# hg pull
> pulling from /repo/hg/mozilla/users/Callek_gmail.com/tools
> requesting all changes
> adding changesets
> adding manifests
> adding file changes
> added 2976 changesets with 6175 changes to 973 files
> (not updating pushlog since changesets come from pull)
> (run 'hg update' to get a working copy)\
> 
> 
> 
> pretxnchangegrouphook() seems to override exchangepullpushlog() but I'm not
> sure the right way around this.

I got this:

$ hg clone http://hg.mozilla.org/SeaMonkey/tools
destination directory: tools
requesting all changes
adding changesets
adding manifests
adding file changes
added 2976 changesets with 6175 changes to 973 files
updating to branch default
496 files updated, 0 files merged, 0 files removed, 0 files unresolved

So does this mean this is fixed?
I did a test clone and push.

$ hg push ssh://hg.mozilla.org/SeaMonkey/tools -e 'ssh -l ewong@pw-wspx.org'
pushing to ssh://hg.mozilla.org/SeaMonkey/tools
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 1 changes to 1 files
remote: Trying to insert into pushlog.
remote: Inserted into the pushlog db successfully.
remote:
remote: View your change here:
remote:   https://hg.mozilla.org/SeaMonkey/tools/rev/c8e224538820
And since the push was acknowledged, http://hg.mozilla.org/SeaMonkey/tools/rev/c8e224538820, I'm guessing this is a Fixed bug? (unless there are
still backend stuff needed to be done)
the clone worked, but the pushlog data wasn't copied like :gps hoped. ideally we should keep it. waiting on his input.
Yeah, we should probably copy the pushlog on the servers. I'll ping some people in IRC to coordinate.
Flags: needinfo?(gps)
(In reply to Gregory Szorc [:gps] from comment #11)
> Yeah, we should probably copy the pushlog on the servers. I'll ping some
> people in IRC to coordinate.

Thanks fubar, gps!   The pushlog's been added now.

Appreciate the help there.
So this can be closed I reckon.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.