https://github.com/jgoerzen/arch2darcs
Convert Arch (tla) branches to Darcs [Haskell] (unmaintained)
https://github.com/jgoerzen/arch2darcs
Last synced: 2 months ago
JSON representation
Convert Arch (tla) branches to Darcs [Haskell] (unmaintained)
- Host: GitHub
- URL: https://github.com/jgoerzen/arch2darcs
- Owner: jgoerzen
- License: gpl-2.0
- Created: 2010-04-21T21:09:34.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2010-04-21T21:09:56.000Z (about 15 years ago)
- Last Synced: 2025-01-15T23:41:54.996Z (4 months ago)
- Language: Haskell
- Homepage:
- Size: 133 KB
- Stars: 2
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: COPYING
Awesome Lists containing this project
README
Welcome to arch2darcs, a program for converting Arch repositories to
Darcs.FEATURES
--------arch2darcs is used to convert an Arch repository to Darcs,
automaticaly preserving:* All original logs
* Modification dates
* All adds, deletes, and renames that were versioned with tla
* Files in Arch.arch2darcs can process entire Arch/tla branches at once.
I wrote arch2darcs because tla2darcs:
* Didn't handle renames properly
* Lacked good support for importing a whole branch at once
* Seemed crash-pronePREREQUISITES
-------------To build arch2darcs, you need:
* GHC 6.2 or above
http://www.haskell.org/ghc/
(if you built darcs from source, you have this already)* Cabal (only needed if you aren't using GHC 6.4 or above)
http://www.haskell.org/cabal/
* MissingH 0.10.6 or above
http://quux.org/devel/missinghBUILDING
--------Type "make". The binary will be in dist/build. You can install it
with ./setup install.CONVERTING ENTIRE ARCH BRANCH
-----------------------------To convert an entire Arch branch, the overall procedure is:
1. Check out base-0 from that branch
2. Initialize the working directory for darcs
3. Run arch2darcs -i
4. Delete temporary filesExample:
$ tla get [email protected]/missingh--head--0.5--base-0 missingh
*** IMPORTANT NOTE: make sure you include "--base-0" from the above
command.$ cd missingh
$ darcs initialize
$ arch2darcs -i
Processing existing Arch situation...
Looking for new patches...
Processing [email protected]/missingh--head--0.5--patch-1
...
Processing [email protected]/missingh--head--0.5--patch-145
Done.
$ rm -rf \{arch\}
$ find . -name .arch-ids -exec rm -rf {} \;CONVERTING BRANCH TAGS
----------------------With Arch, when one branches, one "tags" the source to the
destination. It's common practice to cease development on one branch
and then begin on the next in the Arch world. You can use arch2darcs
to do this. Start by importing the oldest branch as shown above.
Then follow this example, which shows moving from an 0.5 to an 0.7
branch and then following history there:( assuming you're still in missingh/ from earlier )
$ tla sync-tree [email protected]/missingh--head--0.7--base-0*** ONCE AGAIN, notice the presence of base-0!
$ tla set-tree-version [email protected]/missingh--head--0.7
$ arch2darcs -i
Processing existing Arch situation...
Looking for new patches...
Processing [email protected]/missingh--head--0.7--patch-1
...UPDATING EXISTING CONVERSION
----------------------------Maybe you want to make a Darcs mirror of an Arch repository. Once you
have the Darcs version converted as described above, you can simply
run arch2darcs periodically (without the -i). It will convert and
apply all new patches in the Arch repository to Darcs. Nifty, eh?LATEST VERSION AND AUTHOR
-------------------------arch2darcs is written by John Goerzen, jgoerzen at complete dot org.
You can get the latest version with:darcs get --partial http://darcs.complete.org/arch2darcs