Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: git/git
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: moy/git
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 11 commits
  • 3 files changed
  • 2 contributors

Commits on Aug 24, 2011

  1. fast-import: initialize variable require_explicit_termination

    The uninitialized variable seems harmless in practice, but let's still be clean.
    moy committed Aug 24, 2011
    Configuration menu
    Copy the full SHA
    8b14b99 View commit details
    Browse the repository at this point in the history
  2. Add a remote helper to interact with mediawiki. pull & clone handled

    Implement a gate between git and mediawiki, allowing git users to push
    and pull objects from mediawiki just as one would do with a classic git
    repository thanks to remote-helpers.
    
    Currently supported commands are :
    
         git clone mediawiki::http://onewiki.com
         git pull
    
    The following packages need to be installed (available on common
    repositories):
    
         libmediawiki-api-perl
         libdatetime-format-iso8601-perl
    
    Use remote helpers in order to be as transparent as possible to the git
    user.
    
    Download Mediawiki revisions through the Mediawiki API and then
    fast-import into git.
    
    Mediawiki revisions and git commits are linked thanks to notes bound to
    commits.
    
    The import part is done on a refs/mediawiki/<remote> branch before
    coming to refs/remote/origin/master (Huge thanks to Jonathan Nieder
    for his help)
    
    We were not able to reproduce the empty timestamp bug noticed by Jeff
    King, thus needing some further testing. A placeholder is still
    implemented just in case. Its value is the value of the last valid
    timestamp received + 1.
    
    With "use encoding 'utf-8'" non-iso characters are now fully supported
    in both file content and filename.
    A small helper run_git is also added to execute any git command, helping
    to also utf-8 encode results from git commands.
    However, utf-8 encoding for filenames could raise problems if different
    file systems handle utf-8 filenames differently. A uri_escape of
    mediawiki filenames could be imaginable, and is still to be discussed
    further.
    
    Partial cloning is supported using the following syntax:
    "git clone mediawiki::http://wikiurl##A_Page##Another_Page"
    As always, this url is kept in .git/config, helping to always keep
    track of these specific pages
    
    Signed-off-by: Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr>
    Signed-off-by: Arnaud Lacurie <arnaud.lacurie@ensimag.imag.fr>
    Signed-off-by: Claire Fousse <claire.fousse@ensimag.imag.fr>
    Signed-off-by: David Amouyal <david.amouyal@ensimag.imag.fr>
    Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
    Signed-off-by: Sylvain Boulmé <sylvain.boulme@imag.fr>
    Jeremie Nikaes authored and moy committed Aug 24, 2011
    Configuration menu
    Copy the full SHA
    05f2e54 View commit details
    Browse the repository at this point in the history
  3. Git-remote-mediawiki: Add push support

    Push is now supported by the remote-helper
    Thanks to notes metadata, it is possible to compare remote and local
    last mediawiki revision to warn non fast-forward and everything
    up-to-date.
    
    When allowed, push looks for each commit between remotes/origin/master
    and HEAD, catches every blob related to these commit and push them in
    chronological order. To do so, it uses git rev-list --children HEAD and
    travels the tree from remotes/origin/master to HEAD through children. In
    other words :
    
    	* Shortest path from remotes/origin/master to HEAD
    	* For each commit encountered, push blobs related to this commit
    
    An automatic git pull --rebase is executed after a successful push to
    get metadata back from mediawiki. This is also done to maintain
    closeness with the form of a mediawiki history. It can be a problem
    since it also flatens the entire history. (This solution is still
    to be discussed).
    
    To send files to mediawiki, the mediawiki API is used. A filter is
    applied to the data send because mediawiki pages cannot have blank
    characters at the end. The filter is thus more or less a right trim.
    
    Signed-off-by: Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr>
    Signed-off-by: Arnaud Lacurie <arnaud.lacurie@ensimag.imag.fr>
    Signed-off-by: Claire Fousse <claire.fousse@ensimag.imag.fr>
    Signed-off-by: David Amouyal <david.amouyal@ensimag.imag.fr>
    Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
    Signed-off-by: Sylvain Boulmé <sylvain.boulme@imag.fr>
    Jeremie Nikaes authored and moy committed Aug 24, 2011
    Configuration menu
    Copy the full SHA
    08b3ad2 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2011

  1. various fixes

    moy committed Aug 25, 2011
    Configuration menu
    Copy the full SHA
    b104578 View commit details
    Browse the repository at this point in the history
  2. whitespaces

    moy committed Aug 25, 2011
    Configuration menu
    Copy the full SHA
    aa061fa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    702b774 View commit details
    Browse the repository at this point in the history
  4. Duplicate removal

    moy committed Aug 25, 2011
    Configuration menu
    Copy the full SHA
    14e12e4 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2011

  1. Many fixes

    moy committed Aug 26, 2011
    Configuration menu
    Copy the full SHA
    5929f17 View commit details
    Browse the repository at this point in the history
  2. More fixes

    moy committed Aug 26, 2011
    Configuration menu
    Copy the full SHA
    8ef75f4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c31261a View commit details
    Browse the repository at this point in the history
  4. whitespaces

    moy committed Aug 26, 2011
    Configuration menu
    Copy the full SHA
    e441193 View commit details
    Browse the repository at this point in the history
Loading