git-repo-go

command module
v0.7.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2021 License: Apache-2.0 Imports: 3 Imported by: 0

README

Build Status

git-repo

repo reimplemented in Golang and many others

git-repo is repo reimplemented in Golang and with many other features. Using git-repo, a developer can create code reviews (pull requests) from client side directly. There will be no fork, no feature branches, and no write permission needed.

git-repo is a command line tool, which adds more sub-commands to git, and works for centralized git workflow like Gerrit, agit-flow of Alibaba.com, and other agit-flow alike protocols...

Installation

Download or compile the binary of git-repo from this repository, and install (copy) the executable of git-repo to proper location, such as /usr/bin of Linux and MacOS, and C:\Windows\system32 of Windows.

After installation, execute the following command to validate the installation:

git repo version

Git aliases installed from git-repo

git-repo installs some useful git configurations for user, some unique alias commands are:

git peer-review => git repo upload --single
git pr => git repo upload --single
git download => git repo download --single

Single repository mode

Create code-review directly from client side

  1. Clone a repository

     git clone https://codeup.teambition.com/gotgit/demo.git
    
  2. Create a local branch (optional)

     git checkout -b some/topic origin/master
    
  3. Create commits in worktree...

  4. Create code-review from command line:

     git pr
    

There are many options for git pr (or git peer-review, or git review), please check the manual:

    git repo upload --help

Download code-review to local repository for review

A new code-review (pull request) will be created or a old code-review will be refreshed after running git pr. Each code-review has a unique number, such as pull request #123.

Reviewer can download it using command

git download 123

, and make a code review in local worktree.

Update code-review

Repeated command by author will update the code review:

git pr

If a reviewer wants to update a code-review, he or she can run:

git pr --change 123

(suppose 123 is the code review ID, the reviewer just downloaded)

Multiple repositories

git-repo supports android style multiple repositories management.

  • Init workspace from a manifest project.

      git repo init <manifest-url>
    
  • Clone / update all repositories referenced in the manifest repository.

      git repo sync
    
  • Create a local working branch instead of detached HEAD on all repositories.

      git repo start --all some/topic
    
  • Send changes to remote server to create code reviews.

      git repo upload
    

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cap implements inspections of OS capabilities.
Package cap implements inspections of OS capabilities.
Package cmd implements verious git-repo subcommands using cobra as the command-line framework.
Package cmd implements verious git-repo subcommands using cobra as the command-line framework.
Package color implements color output on console.
Package color implements color output on console.
Package config provides global variables, macros, environments and settings.
Package config provides global variables, macros, environments and settings.
Package editor implements content edition.
Package editor implements content edition.
Package errors implements pre-defined errors.
Package errors implements pre-defined errors.
Package format implements our own content print methods.
Package format implements our own content print methods.
Package manifest implements marshal and unmarshal of manifest XML.
Package manifest implements marshal and unmarshal of manifest XML.
Package path implements path related functions.
Package path implements path related functions.
Package project implements operations on project and repository.
Package project implements operations on project and repository.
Package version implements versions related functions
Package version implements versions related functions
Package workspace implements the toplevel abstraction of workspace.
Package workspace implements the toplevel abstraction of workspace.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL