• Stars
    star
    307
  • Rank 135,298 (Top 3 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 15 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A git-hg utility for checking out and tracking a mercurial repo.

git-hg

Description: A set of scripts for checking out and tracking a mercurial project from git. Push supported added as well although it is still experimental.

Author: Cosmin Stejerean (offbytwo)

License: MIT

Dependencies

Mercurial (hg) and python must be installed and in your $PATH.

On Windows, you will also need a copy of Mercurial for Python, available at the Mercurial downloads page

If this is a fresh checkout run

$ git submodule update --init

to pull in fast-export. If for some reason you cannot do this get a copy of fast-export from http://repo.or.cz/w/fast-export.git and place it in the root of the checkout.

Installation

Either add /path/to/this/checkout/bin to your $PATH, or symbolic link /path/to/this/checkout/bin/git-hg into a directory on your $PATH.

Alternatively you can execute

    $ make
    $ sudo make install

to install the script and all required fast-export files in /usr/local (you can change the destination by passing eg PREFIX=/usr to both make invocations)

Usage

  • Clone an hg repo, including ones over HTTP:

      $ git-hg clone http://some/random/hg/repo [local-git-repo-name]
    
  • Fetch updates from the hg repo:

      $ git-hg fetch
    

    or optionally:

      $ git-hg pull # same as git-hg-fetch && git merge hg/branch_name
    
  • Checkout a new branch from hg:

      $ git-hg checkout branch_name
    
  • Push changes back to hg, optionally to a specific destination:

      $ git-hg push [destination]
    

Structure

.git/hgcheckout - contains a bare mercurial checkout of the specified repo

.git/hgremote - contains a bare git repo clones from the mercurial one, this is added as a remote called "hg" in the base repo

More Repositories

1

stashy

Python API client for the Atlassian Stash REST API
Python
230
star
2

route53-transfer

Backup and restore Route53 zones, or transfer between AWS accounts.
Python
151
star
3

IClojure

A better Interactive REPL for Clojure
Java
115
star
4

s3-bash

Access s3 from bash
Shell
107
star
5

jenkins-radiator

A build pipeline radiator for Jenkins using Python/Django and the Jenkins API
Python
28
star
6

clojure-reader

A re-implementation of the Clojure reader, written in Clojure
Clojure
23
star
7

ControlJS

JavaScript
14
star
8

git-svn-extensions

Extensions to git-svn to simplify common tasks like creating and deleting branches in svn
Shell
13
star
9

samples

random code samples that didn't fit anywhere else
Python
12
star
10

cljenv

Utilities for creating and managing multiple clojure environments
Shell
11
star
11

elasticpony

A set of scripts to help with deploying Django applications to Amazon Web Services
Shell
11
star
12

docker-ffmpeg

ffmpeg build with x264/x265/libvpx/libaom on top of Ubuntu 18.04
Dockerfile
11
star
13

ec2audit

Dump all EC2 information to a folder suitable for version control
Python
11
star
14

clojure-in-clojure

Clojure
10
star
15

lein-iclojure

Leiningen plugin to launch an IClojure REPL
Clojure
7
star
16

docker-lhls-segmenter

Docker container running LHLS segmenter to demo a live stream
Shell
6
star
17

sicp-scheme

My solutions to the SICP in Scheme.
Scheme
4
star
18

pdns-dynamodb

PowerDNS backend using DynamoDB
Python
4
star
19

stash-enforce-author-hook

Stash hook to prevent users from pushing commits they have not authored.
Java
4
star
20

stash-broken-build-hook

Stash hook to reject pushes to the default branch if the build is broken (unless the push fixes it)
Java
3
star
21

symlink

Symlink reads your mind so you no longer have to remember the correct argument order
3
star
22

beanhelpers

Utilities for dealing with JavaBeans in Clojure
Clojure
3
star
23

launchbox

Packaging and dependency resolution for chef-solo cookbooks
Python
3
star
24

docker-video-tools

Base image for doing video transcoding work
Dockerfile
3
star
25

hgformlogin

an extension to Mercurial allowing it to be used with repositories protected by a form login
Python
2
star
26

clktc

A simple URL shortener built using Django.
CSS
2
star
27

cosmin.github.io

Cosmin's website
Shell
2
star
28

clj-itunes

A Clojure client for the iTunes search API
Clojure
2
star
29

dnsrecords

A library for dealing with DNS records, including field validation
Python
2
star
30

weathermoment

Display current weather, GPS coordinates and address
JavaScript
2
star
31

clojure-project-template

A template for easily starting a new Clojure project. Currently using Maven.
Clojure
2
star
32

class-finder

A utility to find classes, designed for use at the REPL
Java
1
star
33

ulid-java

ULID implementation for Java with ability to convert to/from UUID
Java
1
star
34

streaming-http-server

An HTTP server that allows low latency downloads of files while they are being uploaded
Go
1
star
35

aws-switch

Switch between multiple AWS accounts
Shell
1
star
36

stash-email-notification-hook

Email notification hook for Stash
Java
1
star
37

docker-nginx-webdav

Nginx WebDAV container based on Ubuntu 18.04 (Bionic)
Dockerfile
1
star
38

stash-enforce-pull-requests-hook

Reject direct pushes to enforce pull requests
Java
1
star
39

datatables-backend-java

A Java implementation of the DataTables server-side processing API
Java
1
star
40

cs193p

My solutions to the Stanford iPhone Programming Class Assignments
Objective-C
1
star