How to design for the following requirement

Nirvan B jatinkulkarni at yahoo.com
Fri Aug 28 16:32:48 CDT 2009


Adrian,
      Thanks for the reply. I did as you said. I pulled from the stable
(clone) and merged. Merge created some conflict and I resolved them. I can
see the changes from stable into main. But, when I try to commit main, I get
error "abort: unresolved merge conflicts (see hg resolve)". This is
contradictory, since I have already resolved all conflicts. I used "Hg
status" and it shows two files modified "M". What am I missing now ?

Here is the glog for main repository - 

@  changeset:   3:0fd8c7c11dad
|  tag:         tip
|  parent:      1:3bf7c089edac
|  user:        Jatin at SERVER
|  date:        Sat Aug 29 02:21:47 2009 +0530
|  summary:     BugFix : IS-2
|
| @  changeset:   2:50dd61812bb6
|/   user:        Jatin at SERVER
|    date:        Sat Aug 29 02:22:18 2009 +0530
|    summary:     New Feature : Feature 1
|
o  changeset:   1:3bf7c089edac
|  user:        Jatin at SERVER
|  date:        Sat Aug 29 01:46:18 2009 +0530
|  summary:     BugFix : IS-1
|
o  changeset:   0:4de788e18703
   user:        Jatin at SERVER
   date:        Sat Aug 29 01:41:08 2009 +0530
   summary:     Initial Version 1_0


And here is the glog from the stable(clone) - 

@  changeset:   2:0fd8c7c11dad
|  tag:         tip
|  user:        Jatin at SERVER
|  date:        Sat Aug 29 02:21:47 2009 +0530
|  summary:     BugFix : IS-2
|
o  changeset:   1:3bf7c089edac
|  user:        Jatin at SERVER
|  date:        Sat Aug 29 01:46:18 2009 +0530
|  summary:     BugFix : IS-1
|
o  changeset:   0:4de788e18703
   user:        Jatin at SERVER
   date:        Sat Aug 29 01:41:08 2009 +0530
   summary:     Initial Version 1_0


regards,
Nirvan.



Adrian Buehlmann wrote:
> 
> On 27.08.2009 20:16, Jatin wrote:
>> I am trying to achieve following mercurial design on my machine.
>> 
>> I have a main repository on which I am working. I have cloned the main
>> repository at some point realeasing a workable version and after that I
>> have
>> added some more new features in the project(main repository) . At the
>> same
>> time, I am fixing bugs on the released version (clone). I fix the bugs
>> and
>> provide patches to the user. I don't wan't to include the new features
>> from
>> the main repository on the "workable version"(clone). In short I am
>> trying
>> to achieve this.
>> 
>> Main Repository - Add new Features to the project.
>> Clone Repository - Clone a "workable version" from Main repository.
>> Change
>> this only for bug fixes i.e. no new features from Main Repository must
>> appear here.
> 
> That's fine. It's done on mercurial development itself like that as well.
> 
> Your "clone repo" is usually called the the "stable" repo -- it contains
> only bugfixes (no new features) and is a strict subset of the main repo.
> 
> Mercurial repos (as an example):
> 
> stable: http://selenic.com/repo/hg-stable
> main:   http://selenic.com/repo/hg
> 
>> In this set up, when some bugs are fixed in the workable version, I will
>> be
>> pushing the same to the main repository. This seems to work for only the
>> first push of workable version(clone) to main repository. Subsequent
>> pushes
>> result in error "push will not be performed as it will create remote
>> branches. You must first resync by doing a pull from target repository
>> and
>> Merge".
> 
> Pull stable into main. This will add a new head to main, which is fine.
> 
> Then merge and commit. This will merge the two heads into one again,
> creating
> a merge changeset (merge changesets have two parent revisions).
> 
> As an example in the mercurial repo itself, look for changesets with
> change
> messages like "merge with...".
> 
> See also http://mercurial.selenic.com/wiki/UnderstandingMercurial
> 
>> Now I dont wan't to resync the clone with the main repository, as I don't 
>> want the new features added in main to appear in clone. I am relatively
>> new
>> to mercurial, so this seems to be some design issue. What I am doing
>> wrong
>> here. Why can't I keep pushing from clone to main repository as and when
>> needed.
> 
> See above.
> 
>> Note that there is only one pc holding main and clone.
> 
> That's fine. A repo can always be cloned to everywhere you want it.
> You can pull from local repos as well as from remote repos (if there is
> a server running on the remote side).
> 
> See hg help pull.
> 
> Just make sure you have backups in case your PC dies. Use hg verify
> to check the backups.
> 
> _______________________________________________
> Mercurial mailing list
> Mercurial at selenic.com
> http://selenic.com/mailman/listinfo/mercurial
> 
> 

-- 
View this message in context: http://www.nabble.com/How-to-design-for-the-following-requirement-tp25177298p25197064.html
Sent from the Mercurial mailing list archive at Nabble.com.



More information about the Mercurial mailing list