Git

From Qi-Hardware
Jump to: navigation, search

after rebase, we have to run 'git push -f' for update the git server, after do that, the git history is changed. so we have to update the local repo

Contents

[edit] Qi-hosted projects step by step

  1. Create an account on http://projects.qi-hardware.com/
  2. Ask User:Xiangfu to create a new project for you ( NOTE: Copyleft hardware projects only!)
  3. Go to http://projects.qi-hardware.com/ and click on your new project. Your project now becomes the context for the whole site, which is not that obvious apart from the project name in the top-right hand corner of the page
  4. Click /Source\, then |How To Get The Code|. Don't try to clone the repository yet
  5. You'll need to provide your SSH key
  6. Then follow the First Commit instructions. This example is for the "man-tiny" project:
mkdir man-tiny
cd man-tiny/
git init
touch .gitignore  # Cannot push an empty repository
git add .
git commit -m "initial import"
git remote add origin git@projects.qi-hardware.com:man-tiny.git
git push origin master

Once again, do NOT copy the commands above verbatim since they refer specifically to the man-tiny project.

[edit] openwrt-xburst.git rebased, what you need do?

[edit] backup your works

  1. if the changes not commit, backup by 'git stash', restore them by 'git stash pop'
  2. if already commit, backup by 'git format-patch -N' N means the commit count, restore them by "git am ...."

[edit] update your local repo

$ git fetch -a
$ git reset --hard origin/master (make sure you are in correct local 'master' branch)

[edit] openwrt-xburst.git rebase steps

$ git clone git://projects.qi-hardware.com/openwrt-xburst.git # checkout openwrt-xburst.git 
$ git remote add backfire git://nbd.name/backfire.git # add new remote for upstream backfire, we name it 'backfire'
$ git fetch -a  # fetch all files
$ git remote update # otherwise next step fails
$ git checkout -b backfire backfire/master  # checkout a new local branch for backifre, we name it 'backfire'
$ git checkout backfire; git pull  # before we do rebase, we always upload local repo
$ git checkout master; git pull
$ git rebase backfire   # then at 'master' branch run 
$ git mergetool #choose one you like, if there is conflicts, we you using GUI merge tool for resolve the conflicts
$ git rebase --continue  # after fix conflicts run
$ git rebase -i backfire   # if you want skip some commit, or merge two commit to one. we can using 
$ git config -l  # the config of my local git repo:
....
remote.origin.url=git@projects.qi-hardware.com:openwrt-xburst.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.upstream.url=git://nbd.name/openwrt.git
remote.upstream.fetch=+refs/heads/*:refs/remotes/upstream/*
remote.backfire.url=git://nbd.name/backfire.git
remote.backfire.fetch=+refs/heads/*:refs/remotes/backfire/*
branch.backfire.remote=backfire
branch.backfire.merge=refs/heads/master
branch.upstream.remote=upstream
branch.upstream.merge=refs/heads/master
branch.history.remote=origin
branch.history.merge=refs/heads/history
branch.master.remote=origin
branch.master.merge=refs/heads/master

[edit] rebaseing output

there are 154 commits for nanonote. those output rebase on git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@25989 3c298f89-4303-0410-b956-a3cf2f4a3e73

$ git rebase backfire
First, rewinding head to replay your work on top of it...
Applying: this patch add uboot-xburst package
Applying: some cleanup about xburst target
Applying: add ks7010 drivers
Applying: copy data folder from history branch
Applying: gitignore vim temporary files (*~)
Applying: add Nanonoe special feeds.conf under data folder
Applying: [config.full_system] add package byobu
Applying: cleanup the build file
Applying: add <http://downloads.qi-hardware.com/sources> as mirror for source
Applying: adjust the rootfs partiton size to 512MB
Applying: deselect gnuplot since it does not compile (in our tree)
Applying: NAND DATA Partition offset and reflash_ben.sh fixed according to 512
Applying: [config.full_system] add gcc-mips, fixed in openwrt package: 8dbf61c, tested in build hosts
Applying: [linux] support increase/decrease in screen brightness
Applying: added w3m to config.full_system
Applying: enable locale support in uClibc
Applying: add libncursesw to config.full_system
Applying: add ks7010 firmware
Applying: add gmenu2x to inittab, remove init.d/start
Applying: add a lot of apps entry in gmenu2x
Applying: [uboot-xburst] remove debug code
Applying: added HISTFILE env variable in /etc/profile
Applying: Disable syslogd and klogd
Applying: don't need ldd() function if actual ldd is installed
Applying: add [ash] and fix the [bash] entry in gmenu2x
Applying: added tcl to full_system
Applying: added some config files and enabled busybox stty
Applying: make sure uClibc won't attempt to get pregenerated locales.
Applying: 'N' to UCLIBC_HAS_GLIBC_DIGIT_GROUPING
Applying: some changes to gmenu2x icons
Applying: remove version string from /etc/banner - include it from /etc/VERSION instead to avoid unneeded redundancy
Applying: Export NanoNote specific global settings affecting QT4 applications.
Applying: add terminal section
Applying: keep cleanup the /etc/banner
Applying: merged xbboot.README into config.xbboot
Applying: [config.full_system] group up it a little
Applying: remove the ntfs package
Applying: [config.full_system] add fsck
Applying: /etc/banner: fixed noeol; /etc/VERSION was missing
Applying: added keymap for Qt apps
Applying: [config.full_system] add dosfslabel, resize2fs, sysfsutils, tune2fs
Applying: add more apps entry in gmenu2x, abook, bc, nightsky, sc, vim
Applying: added qt4-demos and qt4-examples to full_system
Applying: [config.full_system] add nanoterm
Applying: remove fn-handle and cmdpad, add triggerhappy
Applying: add poweroff.conf for triggerhappy
Applying: add Berlin as the NanoMap example maps
Applying: add nightsky icon png file
Applying: use more sane 'linux' TERM
Applying: updated Qt keymap
Applying: call setfont2 before starting abook
Applying: add mutt icon to gmenu2x apps list
Applying: space in tune2fs config.full_system (thanks aisa)
Applying: call setfont2 before tetris
Applying: fix Home/End keys in vim
Applying: cleanup reflash_ben.sh, try to download root.ubi.bz2 first
Applying: set "Local" VERSION on manual build
Applying: default config for netsurf
Applying: Prepare kernel for keymouse
Applying: netsurf: add the "close" button to toolbar
Applying: add setfont2 ... to /usr/bin/gmenu2x
Applying: reflash_ben.sh: update some info. use bzip2 -d instead of tar xf
Applying: replace triggerhappy with triggersad until it's not fixed upstream
Applying: remove /usr/bin/ben-ash, since we setfont2 in /usr/bin/gmenu2x
Applying: config.full_system: add wget, nfs-utils, netcat
Applying: add qc icon in gmenu2x
Applying: config.full_system: add netsurf, add Internet group
Applying: fix the wrong log.txt path, when using -l option
Applying: add fw_setenv_default for set all u-boot variable to default
Applying: files: remove display banner in /etc/profile
Applying: change the way of check wget error, which is more common
Applying: hide warning messages on gmenu2x start
Applying: Revert "hide warning messages on gmenu2x start"
Applying: move sample NanoMap maps to it's package
Applying: move .nightsky.yml to it's package
Applying: add new packages recently added in openwrt-package.git
Applying: config.full_system, group up it a little
Applying: add new package gmenu2x icons: aewan, byobu, mc, powertop, snownews, tunec
Applying: remove VERSION, add more configure to directfbrc
Applying: reflash_ben.sh: add progress bar
Applying: move ks7010 firmware to it's package
Applying: move those example file to a new package: nanonote-example-files
Applying: disable fbterm and lynx, since they do not compile... latter one should be easy to fix (missing iconv.h)
Applying: automatic create /dev/rtc
Applying: delete accidental config.full_system.rej
Applying: add -Vall to alsamixer, for display MIC stuff
Applying: config.debug: the minimal .config with debugging capabilities
Applying: mv all gmenu2x stuff to it's package
Applying: add nanonote-example-files pakcage to config.full_system
Applying: remove the pixelformat=RGB24, make some program display not correct
Applying: add moc qstardict to config.full_system
Applying: Revert "disable fbterm and lynx, since they do not compile... latter one should be easy to fix (missing iconv.h)"
Applying: config.full_system add wtime
Applying: files: disable atd, telnet, led in nanonote
Applying: config.full_system: add emacs
Applying: config.all_packages: add all packages config file base on minial
Applying: update the qi-hardware sources mirror address
Applying: bash-files: update the package url
Applying: add 127.0.0.1 BenNanoNote to hosts file
Applying: fix DNS timeout problem when applications resolve the FQDN
Applying: undo hosts file fix.  Xiangfu was quicker and did it better :)
Applying: Adapt config.full_system to new emacs package name.  Add emacs japanese
Applying: update package to known-good revisions, thanks David Kuehling
Applying: config.all_packages: remove mp3, mp4, rootfs, u-boot
Applying: Add gfortran compiler support to the toolchain
Applying: configu.full_system: remove IB and Toolchain
Applying: using 'strip' instead of 'sstrip'
Applying: config.full_system, add math stuff and some new pakcages
Applying: put qi openwrt-packages git on top in feed.conf
Applying: use ccache also for C++ compilation
Applying: enable the toolchain option for Octave and libgfortran
Applying: config.full_system-add-more-php5-modules.patch
Applying: config.full_system: add package sqlite2-cli
Applying: feeds.conf add @revision to feeds.conf
Applying: INSTALL_FGORTRAN needs those two options
Applying: config.full_system: add recently new packages
Applying: config.full_system remove sshfs, not working under dropbear ssh server
Applying: add vm.overcommit_memory = 1 sysctl.conf
Applying: feeds.conf update packages revision to 25034
Applying: config.full_system include plplot-demo
Applying: merge all_package and full_system to one
Applying: config.full_system, remove build uboot for avt2 n516 sakc
Applying: mplayer: use "tremor" as default audio codec
Applying: make libgfortran depend on @INSTALL_GFORTRAN toolchain option
Applying: enable CONFIG_BUILD_NLS and full versions of iconv/gettext
Applying: config.debug/minimal enable rootfs tar.gz
Applying: move those files to nanonote-files package
Applying: config.full_system add nanonote script files package
Applying: u-boot add-more-boot-option
Applying: update feeds.conf revision for recently NLS update
Applying: update package revision to 25513, xfce: using nls.mk
Applying: config.full_system disable some demo and examples
Applying: uboot-xburst, add ubifs support
Applying: Restore sdio fix for the spectec wlan card
Applying: disable CONFIG_ALL, add Tile and gottet
Applying: config.full_system: add supertux, terminus-font
Applying: config.full_system: build gcc-mips, make, binutils as modules. Remove
Applying: config.full_system: remove "=m" packages
Applying: don't include ghostscript and fbgs into rootfs, build as modules
Applying: config.full_system: fix name of gnuplot package (was renamed a long time ago)
Applying: add zgv, MPlayer, brainless
Applying: remove custum banner, focus on 100% upstream,
Applying: config.full_system: add setterm
Applying: config.full_system: include GNU tar
Applying: [package] ks7010: Remove debug printks
Applying: [xburst] jz_mmc: Drop warning about spares irqs.
Applying: [xburst] Improve mounttime.
Applying: have sound modules built in kernel
Applying: reflash_ben.sh, new option b k r, reboot device after reflash
Applying: add sound options to default config, so that it won't popup
Applying: config.full_system: add openssh-sftp-server 
Applying: update opkg.conf, don't using /tmp keep packages information 
Applying: config.full_system: busybox enhancements
Applying: config.full_system: more busybox options

[edit] openwrt-xburst.git rebase on upstream 'trunk'

[edit] get all nanonote patches

$ git format -155 #at Mar 22 2011. we hvae 155 patches on top of backfire 

[edit] working progress

PATCHES
├── 0001-this-patch-add-uboot-xburst-package.patch
├── 0002-some-cleanup-about-xburst-target.patch
├── 0021-uboot-xburst-remove-debug-code.patch
├── 0129-u-boot-add-more-boot-option.patch
└── 0133-uboot-xburst-add-ubifs-support.patch
PATCHES-applied-in-trunk (might have slightly different name/adapted for trunk/or not needed in trunk)
├── 0003-add-ks7010-drivers.patch
├── 0009-add-http-downloads.qi-hardware.com-sources-as-mirror.patch
├── 0014-linux-support-increase-decrease-in-screen-brightness.patch
├── 0016-enable-locale-support-in-uClibc.patch
├── 0018-add-ks7010-firmware.patch
├── 0023-Disable-syslogd-and-klogd.patch
├── 0028-make-sure-uClibc-won-t-attempt-to-get-pregenerated-l.patch
├── 0029-N-to-UCLIBC_HAS_GLIBC_DIGIT_GROUPING.patch
├── 0059-Prepare-kernel-for-keymouse.patch
├── 0081-move-ks7010-firmware-to-it-s-package.patch
├── 0097-update-the-qi-hardware-sources-mirror-address.patch
├── 0105-Add-gfortran-compiler-support-to-the-toolchain.patch
├── 0110-use-ccache-also-for-C-compilation.patch
├── 0124-make-libgfortran-depend-on-INSTALL_GFORTRAN-toolchai.patch
├── 0134-Restore-sdio-fix-for-the-spectec-wlan-card.patch
├── 0145-package-ks7010-Remove-debug-printks.patch
├── 0148-have-sound-modules-built-in-kernel.patch
├── 0150-add-sound-options-to-default-config-so-that-it-won-t.patch
├── 0146-xburst-jz_mmc-Drop-warning-about-spares-irqs.patch
└── 0147-xburst-Improve-mounttime.patch
PATCHES-sendout-to-upstream
├── 0005-gitignore-vim-temporary-files.patch
├── 0098-bash-files-update-the-package-url.patch
├── 0099-add-127.0.0.1-BenNanoNote-to-hosts-file.patch
├── 0118-add-vm.overcommit_memory-1-sysctl.conf.patch
└── 0152-update-opkg.conf-don-t-using-tmp-keep-packages-infor.patch
PATCHES-useless-data
├── 0004-copy-data-folder-from-history-branch.patch
├── 0006-add-Nanonoe-special-feeds.conf-under-data-folder.patch
├── 0007-config.full_system-add-package-byobu.patch
├── 0008-cleanup-the-build-file.patch
├── 0011-deselect-gnuplot-since-it-does-not-compile-in-our-tr.patch
├── 0013-config.full_system-add-gcc-mips-fixed-in-openwrt-pac.patch
├── 0015-added-w3m-to-config.full_system.patch
├── 0017-add-libncursesw-to-config.full_system.patch
├── 0019-add-gmenu2x-to-inittab-remove-init.d-start.patch
├── 0020-add-a-lot-of-apps-entry-in-gmenu2x.patch
├── 0022-added-HISTFILE-env-variable-in-etc-profile.patch
├── 0024-don-t-need-ldd-function-if-actual-ldd-is-installed.patch
├── 0025-add-ash-and-fix-the-bash-entry-in-gmenu2x.patch
├── 0026-added-tcl-to-full_system.patch
├── 0027-added-some-config-files-and-enabled-busybox-stty.patch
├── 0030-some-changes-to-gmenu2x-icons.patch
├── 0031-remove-version-string-from-etc-banner-include-it-fro.patch
├── 0032-Export-NanoNote-specific-global-settings-affecting-Q.patch
├── 0033-add-terminal-section.patch
├── 0034-keep-cleanup-the-etc-banner.patch
├── 0035-merged-xbboot.README-into-config.xbboot.patch
├── 0036-config.full_system-group-up-it-a-little.patch
├── 0037-remove-the-ntfs-package.patch
├── 0038-config.full_system-add-fsck.patch
├── 0039-etc-banner-fixed-noeol-etc-VERSION-was-missing.patch
├── 0040-added-keymap-for-Qt-apps.patch
├── 0041-config.full_system-add-dosfslabel-resize2fs-sysfsuti.patch
├── 0042-add-more-apps-entry-in-gmenu2x-abook-bc-nightsky-sc-.patch
├── 0043-added-qt4-demos-and-qt4-examples-to-full_system.patch
├── 0044-config.full_system-add-nanoterm.patch
├── 0045-remove-fn-handle-and-cmdpad-add-triggerhappy.patch
├── 0046-add-poweroff.conf-for-triggerhappy.patch
├── 0047-add-Berlin-as-the-NanoMap-example-maps.patch
├── 0048-add-nightsky-icon-png-file.patch
├── 0049-use-more-sane-linux-TERM.patch
├── 0050-updated-Qt-keymap.patch
├── 0051-call-setfont2-before-starting-abook.patch
├── 0052-add-mutt-icon-to-gmenu2x-apps-list.patch
├── 0053-space-in-tune2fs-config.full_system-thanks-aisa.patch
├── 0054-call-setfont2-before-tetris.patch
├── 0055-fix-Home-End-keys-in-vim.patch
├── 0056-cleanup-reflash_ben.sh-try-to-download-root.ubi.bz2-.patch
├── 0057-set-Local-VERSION-on-manual-build.patch
├── 0058-default-config-for-netsurf.patch
├── 0060-netsurf-add-the-close-button-to-toolbar.patch
├── 0061-add-setfont2-.-to-usr-bin-gmenu2x.patch
├── 0062-reflash_ben.sh-update-some-info.-use-bzip2-d-instead.patch
├── 0063-replace-triggerhappy-with-triggersad-until-it-s-not-.patch
├── 0064-remove-usr-bin-ben-ash-since-we-setfont2-in-usr-bin-.patch
├── 0065-config.full_system-add-wget-nfs-utils-netcat.patch
├── 0066-add-qc-icon-in-gmenu2x.patch
├── 0067-config.full_system-add-netsurf-add-Internet-group.patch
├── 0068-fix-the-wrong-log.txt-path-when-using-l-option.patch
├── 0069-add-fw_setenv_default-for-set-all-u-boot-variable-to.patch
├── 0070-files-remove-display-banner-in-etc-profile.patch
├── 0071-change-the-way-of-check-wget-error-which-is-more-com.patch
├── 0072-hide-warning-messages-on-gmenu2x-start.patch
├── 0073-Revert-hide-warning-messages-on-gmenu2x-start.patch
├── 0074-move-sample-NanoMap-maps-to-it-s-package.patch
├── 0075-move-.nightsky.yml-to-it-s-package.patch
├── 0076-add-new-packages-recently-added-in-openwrt-package.g.patch
├── 0077-config.full_system-group-up-it-a-little.patch
├── 0078-add-new-package-gmenu2x-icons-aewan-byobu-mc-powerto.patch
├── 0079-remove-VERSION-add-more-configure-to-directfbrc.patch
├── 0080-reflash_ben.sh-add-progress-bar.patch
├── 0082-move-those-example-file-to-a-new-package-nanonote-ex.patch
├── 0083-disable-fbterm-and-lynx-since-they-do-not-compile.-l.patch
├── 0084-automatic-create-dev-rtc.patch
├── 0085-delete-accidental-config.full_system.rej.patch
├── 0086-add-Vall-to-alsamixer-for-display-MIC-stuff.patch
├── 0087-config.debug-the-minimal-.config-with-debugging-capa.patch
├── 0088-mv-all-gmenu2x-stuff-to-it-s-package.patch
├── 0089-add-nanonote-example-files-pakcage-to-config.full_sy.patch
├── 0090-remove-the-pixelformat-RGB24-make-some-program-displ.patch
├── 0091-add-moc-qstardict-to-config.full_system.patch
├── 0092-Revert-disable-fbterm-and-lynx-since-they-do-not-com.patch
├── 0093-config.full_system-add-wtime.patch
├── 0094-files-disable-atd-telnet-led-in-nanonote.patch
├── 0095-config.full_system-add-emacs.patch
├── 0096-config.all_packages-add-all-packages-config-file-bas.patch
├── 0100-fix-DNS-timeout-problem-when-applications-resolve-th.patch
├── 0101-undo-hosts-file-fix.-Xiangfu-was-quicker-and-did-it-.patch
├── 0102-Adapt-config.full_system-to-new-emacs-package-name.-.patch
├── 0103-update-package-to-known-good-revisions-thanks-David-.patch
├── 0104-config.all_packages-remove-mp3-mp4-rootfs-u-boot.patch
├── 0106-configu.full_system-remove-IB-and-Toolchain.patch
├── 0107-using-strip-instead-of-sstrip.patch
├── 0108-config.full_system-add-math-stuff-and-some-new-pakca.patch
├── 0109-put-qi-openwrt-packages-git-on-top-in-feed.conf.patch
├── 0111-enable-the-toolchain-option-for-Octave-and-libgfortr.patch
├── 0112-config.full_system-add-more-php5-modules.patch.patch
├── 0113-config.full_system-add-package-sqlite2-cli.patch
├── 0114-feeds.conf-add-revision-to-feeds.conf.patch
├── 0115-INSTALL_FGORTRAN-needs-those-two-options.patch
├── 0116-config.full_system-add-recently-new-packages.patch
├── 0117-config.full_system-remove-sshfs-not-working-under-dr.patch
├── 0119-feeds.conf-update-packages-revision-to-25034.patch
├── 0120-config.full_system-include-plplot-demo.patch
├── 0121-merge-all_package-and-full_system-to-one.patch
├── 0122-config.full_system-remove-build-uboot-for-avt2-n516-.patch
├── 0123-mplayer-use-tremor-as-default-audio-codec.patch
├── 0125-enable-CONFIG_BUILD_NLS-and-full-versions-of-iconv-g.patch
├── 0126-config.debug-minimal-enable-rootfs-tar.gz.patch
├── 0127-move-those-files-to-nanonote-files-package.patch
├── 0128-config.full_system-add-nanonote-script-files-package.patch
├── 0130-update-feeds.conf-revision-for-recently-NLS-update.patch
├── 0131-update-package-revision-to-25513-xfce-using-nls.mk.patch
├── 0132-config.full_system-disable-some-demo-and-examples.patch
├── 0135-disable-CONFIG_ALL-add-Tile-and-gottet.patch
├── 0136-config.full_system-add-supertux-terminus-font.patch
├── 0137-config.full_system-build-gcc-mips-make-binutils-as-m.patch
├── 0138-config.full_system-remove-m-packages.patch
├── 0139-don-t-include-ghostscript-and-fbgs-into-rootfs-build.patch
├── 0140-config.full_system-fix-name-of-gnuplot-package-was-r.patch
├── 0141-add-zgv-MPlayer-brainless.patch
├── 0142-remove-custum-banner-focus-on-100-upstream.patch
├── 0143-config.full_system-add-setterm.patch
├── 0144-config.full_system-include-GNU-tar.patch
├── 0149-reflash_ben.sh-new-option-b-k-r-reboot-device-after-.patch
├── 0151-config.full_system-add-openssh-sftp-server.patch
├── 0153-config.full_system-busybox-enhancements.patch
├── 0154-config.full_system-more-busybox-options.patch
└── 0155-move-those-files-to-openwrt-package.git.patch
PATCHES-useless-nanonote
├── 0010-adjust-the-rootfs-partiton-size-to-512MB.patch
└── 0012-NAND-DATA-Partition-offset-and-reflash_ben.sh-fixed-.patch
 155 files
Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export