Hi hg-git developers

> Hi Uwe,
> On 11/26/22 13:44, Dr. Arne Babenhauserheide wrote:
> The parents are also part of the hash calculation.

> Besides, hg-git includes the branch name into the resulting Git
> commit, unless it is `default`. I don't remember how configurable that
> is (nor even if it works the same way with the most recent hg-git
> versions), BUT this is not the fundamental problem:

> In Git, the parent commits hashes are also part of a given commit hash.

> The bottom line would be that what you are asking is conceptually
> contradictory with this whole class of DVCSes where any change set is
> anchored in the strongest possible way to the context (i.e., its
> parents) in which it was produced. For completeness, this is not the
> case of Pijul (https://pijul.org, one of the youngest systems around)
> nor darcs (patch-based, 2 years older than Git and Mercurial).


I have to confess that I am very confused now, as I will explain below,

Basic idea:

I have a working solution for «importing» and «exporting» named branches
to git. The idea is to use evolve, and to use the rebase and amend command.

This generates new changesets, with new HG Hashes but *empty* Git
hashes, these I can push (with -f)

These changes can in be pulled back to git if 

git config pull.rebase true   

Is set.

Here is the workflow, 

   1) Workflow 1
      a) you created a named branch, and when you pull
         A) hg phase -d -f -r somepublic-changes
         B) hg rebase -s git-commit -d last-commit-named-branch
         C) some HG changesets are not obsolete
         D) new HG changesets are  generated with *new* HG HASHES, but
            *without* a git hash!! 
         E) hg push -f
      b) GIT pulls with the  option mentioned above
   2) Workeflow 2
      a) GIT has generated a new git  branch,
         A) you pull
         B) hg up (to the base of the git branch)
         C) hg branch name-of-git-branch
         D) hg amend
         E) hg evolve (most times not necessary)
         F) hg push -f
      b) GIT pulls again using the option mentioned above

I run several experiments with git sandboxes and it worked, however I am
not sure what happens with more complex git repositories and more users.

Any ideas HG-GIT developers? Or somebody else dealing really with git
repositories (I mean pulling and pushing, not just cloning).

Regards

Uwe Brauer 




> Best,

-- 
Warning: Content may be disturbing to some audiences
I strongly condemn Putin's war of aggression against the Ukraine.
I support to deliver weapons to Ukraine's military. 
I support the ban of Russia from SWIFT.
I support the EU membership of the Ukraine. 
https://addons.thunderbird.net/en-US/thunderbird/addon/gmail-conversation-view/

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Mercurial mailing list
Mercurial@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to