sapling/eden/hg-server/tests/test-git-changelog.t
Durham Goode 98d9269874 server: copy hg to a new hg-server directory
Summary:
Create a fork of the Mercurial code that we can use to build server
rpms. The hg servers will continue to exist for a few more months while we move
the darkstorm and ediscovery use cases off them. In the mean time, we want to
start making breaking changes to the client, so let's create a stable copy of
the hg code to produce rpms for the hg servers.

The fork is based off c7770c78d, the latest hg release.

This copies the files as is, then adds some minor tweaks to get it to build:
- Disables some lint checks that appear to be bypassed by path
- sed replace eden/scm with eden/hg-server
- Removed a dependency on scm/telemetry from the edenfs-client tests since
  scm/telemetry pulls in the original eden/scm/lib/configparser which conflicts
  with the hg-server conflict parser.

allow-large-files

Reviewed By: quark-zju

Differential Revision: D27632557

fbshipit-source-id: b2f442f4ec000ea08e4d62de068750832198e1f4
2021-04-09 10:09:06 -07:00

68 lines
1.7 KiB
Perl

$ export GIT_AUTHOR_NAME='test'
$ export GIT_AUTHOR_EMAIL='test@example.org'
$ export GIT_AUTHOR_DATE="2007-01-01 00:00:10 +0000"
$ export GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
$ export GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"
$ export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
Prepare a git repo:
$ git init -q gitrepo
$ cd gitrepo
$ git config core.autocrlf false
$ echo 1 > alpha
$ git add alpha
$ git commit -q -malpha
$ echo 2 > beta
$ git add beta
$ git commit -q -mbeta
Init an hg repo using the git changelog backend:
$ cd $TESTTMP
$ hg debuginitgit --git-dir gitrepo/.git repo1
$ cd repo1
$ hg log -Gr 'all()' -T '{node} {desc}'
o 3f5848713286c67b8a71a450e98c7fa66787bde2 beta
o b6c31add3e60ded7a9c9c803641edffb1dccd251 alpha
$ hg debugchangelog
The changelog is backed by Rust. More backend information:
Backend (segmented git):
Local:
Segments + IdMap: $TESTTMP/repo1/.hg/store/segments/v1
Git: $TESTTMP/gitrepo/.git
Feature Providers:
Commit Graph Algorithms:
Segments
Commit Hash / Rev Lookup:
IdMap
Commit Data (user, message):
Git
Migrate to revlog changelog format:
$ hg debugchangelog --migrate rustrevlog
$ hg log -Gr 'all()' -T '{node} {desc}'
o 3f5848713286c67b8a71a450e98c7fa66787bde2 beta
o b6c31add3e60ded7a9c9c803641edffb1dccd251 alpha
$ hg debugchangelog
The changelog is backed by Rust. More backend information:
Backend (revlog):
Local:
Revlog: $TESTTMP/repo1/.hg/store/00changelog.{i,d}
Nodemap: $TESTTMP/repo1/.hg/store/00changelog.nodemap
Feature Providers:
Commit Graph Algorithms:
Revlog
Commit Hash / Rev Lookup:
Nodemap
Commit Data (user, message):
Revlog