Sat, 12 Apr 2008 20:51:26 +0200 |
Patrick Mezard |
merge: replace readline() call, missing from posixfile_nt
|
Fri, 11 Apr 2008 12:52:56 -0500 |
Matt Mackall |
resolve: new command
|
Fri, 11 Apr 2008 12:04:26 +0200 |
Dirkjan Ochtman |
python-2.6: use sha wrapper from util for new merge code
|
Thu, 10 Apr 2008 15:02:24 -0500 |
Matt Mackall |
merge: introduce mergestate
|
Sat, 29 Mar 2008 12:39:47 -0500 |
Matt Mackall |
copies: skip directory rename checks when not merging
|
Mon, 24 Mar 2008 20:28:13 +0100 |
Thomas Arendsen Hein |
Fix missing space in one of the new update messages.
|
Mon, 24 Mar 2008 10:01:05 -0500 |
Matt Mackall |
update: better logic and messages for updates
|
Sat, 22 Mar 2008 13:30:08 -0500 |
Matt Mackall |
update: no -C needed to switch branches without outstanding changes
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
diff: use copy smarts from copies.py
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
copies: move findcopies code to its own module
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
merge: move symmetricdifferences to ancestor.py
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
merge: simplify some helpers
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
merge: more simplifications to checkcopies
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
merge: simplify checkcopies
|
Sat, 15 Mar 2008 10:02:31 -0500 |
Matt Mackall |
merge: privatize some functions, unnest some others
|
Fri, 14 Mar 2008 11:01:31 -0500 |
Alexis S. L. Carvalho |
merge: notice uncommited copies (issue1000)
|
Fri, 14 Mar 2008 09:56:58 -0300 |
Alexis S. L. Carvalho |
merge: require --force when there are deleted files
|
Wed, 12 Mar 2008 15:44:08 -0700 |
Alexis S. L. Carvalho |
merge: fix handling of deleted files
|
Thu, 06 Mar 2008 22:23:26 +0100 |
Joel Rosdahl |
Expand import * to allow Pyflakes to find problems
|
Sun, 03 Feb 2008 19:29:05 -0600 |
Matt Mackall |
filemerge: pull file-merging code into its own module
|
Mon, 14 Jan 2008 16:28:32 -0600 |
Matt Mackall |
merge: add a bit more sanity to divergent copy checks
|
Thu, 27 Dec 2007 22:47:44 -0600 |
Matt Mackall |
merge: add flag merging intelligence
|
Thu, 27 Dec 2007 22:27:48 -0600 |
Matt Mackall |
merge: use util.set_flags
|
Thu, 27 Dec 2007 22:27:37 -0600 |
Matt Mackall |
merge: simplify merge tests, fix exec flag bug
|
Wed, 26 Dec 2007 23:03:32 +0100 |
Thomas Arendsen Hein |
merge with crew-stable
|
Wed, 26 Dec 2007 22:47:16 +0100 |
Thomas Arendsen Hein |
Fix misleading error and prompts during update/merge (issue556)
|
Sun, 02 Dec 2007 15:15:49 -0600 |
Matt Mackall |
update: default to tipmost branch if default branch doesn't exist
|
Mon, 05 Nov 2007 18:49:35 -0200 |
Alexis S. L. Carvalho |
Honour the exec bit when we go back in time.
|
Tue, 09 Oct 2007 17:25:24 -0500 |
Matt Mackall |
Merge with -stable
|
Mon, 08 Oct 2007 18:47:22 -0500 |
Matt Mackall |
findcopies: fix rename bug
|
Mon, 08 Oct 2007 18:47:22 -0500 |
Matt Mackall |
findcopies: fix rename bug
|
Wed, 03 Oct 2007 23:09:36 +0200 |
Patrick Mezard |
merge: provide *_ISLINK environment vars to merge helper
|
Thu, 04 Oct 2007 19:44:37 -0500 |
Matt Mackall |
merge: add debug diagnostics for findcopies
|
Thu, 23 Aug 2007 01:48:29 -0300 |
Alexis S. L. Carvalho |
merge: forcefully mark files that we get from the second parent as dirty
|
Sun, 12 Aug 2007 12:43:52 -0300 |
Alexis S. L. Carvalho |
merge with crew-stable
|
Fri, 10 Aug 2007 10:46:03 -0700 |
Bryan O'Sullivan |
Make audit_path more stringent.
|
Sun, 12 Aug 2007 12:15:10 -0300 |
Alexis S. L. Carvalho |
merge: fix a copy detection bug (issue672)
|
Thu, 02 Aug 2007 13:23:53 -0500 |
Matt Mackall |
Merge with -stable
|
Thu, 02 Aug 2007 12:29:10 -0500 |
Matt Mackall |
merge: avoid double deletion mentioned in issue636
|
Wed, 01 Aug 2007 14:03:48 -0500 |
Matt Mackall |
Merge with stable
|
Wed, 01 Aug 2007 12:33:12 -0500 |
Matt Mackall |
merge: do early copy to deal with issue636
|
Thu, 26 Jul 2007 12:02:55 -0500 |
Matt Mackall |
Merge with -stable
|
Thu, 26 Jul 2007 11:19:53 -0500 |
Matt Mackall |
merge: don't forget to update the dirstate for exec bit changes
|
Sat, 21 Jul 2007 16:02:10 -0500 |
Matt Mackall |
Make repo locks recursive, eliminate all passing of lock/wlock
|
Sat, 21 Jul 2007 16:02:10 -0500 |
Matt Mackall |
Use try/finally pattern to cleanup locks and transactions
|
Sat, 21 Jul 2007 16:02:09 -0500 |
Matt Mackall |
dirstate: break update into separate functions
|
Sun, 15 Jul 2007 14:43:38 -0500 |
Matt Mackall |
merge: fix unnecessary rename merges on linear update (issue631)
|
Thu, 05 Jul 2007 16:01:07 -0500 |
Matt Mackall |
merge: fix adding untracked files on directory rename (issue612)
|
Thu, 05 Jul 2007 13:34:18 -0500 |
Matt Mackall |
merge: make test for fast-forward merge stricter (issue619)
|
Fri, 22 Jun 2007 20:44:40 -0300 |
Alexis S. L. Carvalho |
merge: fix small bug with a failed merge across a rename
|
Thu, 21 Jun 2007 18:02:03 -0500 |
Matt Mackall |
merge: warn user about divergent renames
|
Tue, 19 Jun 2007 08:51:34 +0200 |
Thomas Arendsen Hein |
Updated copyright notices and add "and others" to "hg version"
|
Tue, 19 Jun 2007 08:06:37 +0200 |
Thomas Arendsen Hein |
Cleanup of whitespace, indentation and line continuation.
|
Mon, 18 Jun 2007 12:38:54 -0700 |
Brendan Cully |
Make fast-forward merges full merges
|
Tue, 08 May 2007 11:42:48 -0500 |
Matt Mackall |
Merge with stable
|
Tue, 08 May 2007 02:59:13 -0500 |
Matt Mackall |
merge: fix spurious merges for copies in linear updates
|
Sun, 06 May 2007 20:27:45 -0700 |
Brendan Cully |
Add fast-forward branch merging
|
Thu, 03 May 2007 17:27:21 -0500 |
Matt Mackall |
Merge with stable
|
Thu, 03 May 2007 17:24:43 -0500 |
Matt Mackall |
merge: reorganize some hunks in findcopies
|
Thu, 03 May 2007 17:24:43 -0500 |
Matt Mackall |
merge: simplify a check in checkcopies
|
Thu, 03 May 2007 17:24:43 -0500 |
Matt Mackall |
merge: expand and simplify the invalid handling for directory moves
|
Thu, 03 May 2007 17:24:43 -0500 |
Matt Mackall |
merge: fix a bug detecting directory moves
|
Thu, 03 May 2007 17:24:43 -0500 |
Matt Mackall |
merge: clarify the findcopies code
|
Mon, 16 Apr 2007 12:37:30 -0500 |
Matt Mackall |
Merge with stable
|
Mon, 16 Apr 2007 12:24:52 -0500 |
Matt Mackall |
merge: fix quadratic behavior in find-copies
|
Thu, 05 Apr 2007 17:09:31 -0500 |
Matt Mackall |
Merge with stable
|
Thu, 05 Apr 2007 16:43:18 -0500 |
Matt Mackall |
merge: fix a bug where copies were ignored
|
Thu, 05 Apr 2007 16:25:47 -0500 |
Matt Mackall |
merge: fix a bug where copies were getting ignored
|
Fri, 16 Mar 2007 00:45:18 -0300 |
Alexis S. L. Carvalho |
Merge with crew-stable
|
Wed, 14 Mar 2007 01:26:09 -0500 |
Matt Mackall |
Merge with -stable, fix small test failure
|
Sat, 10 Mar 2007 17:45:32 -0800 |
Brendan Cully |
Merge with crew-stable
|
Tue, 13 Mar 2007 18:50:02 -0500 |
Matt Mackall |
Move branch read/write to dirstate where it belongs
|
Tue, 27 Feb 2007 16:47:16 -0600 |
Matt Mackall |
Merge with stable
|
Tue, 27 Feb 2007 16:20:06 -0600 |
Matt Mackall |
merge: fix renaming of subdirectories under renamed directories
|
Fri, 29 Dec 2006 20:04:31 -0600 |
Matt Mackall |
symlinks: minimal support for symlinks in merge/update
|
Fri, 29 Dec 2006 20:04:31 -0600 |
Matt Mackall |
symlinks: add flags param to wwrite
|
Fri, 29 Dec 2006 20:04:31 -0600 |
Matt Mackall |
replace filehandle version of wwrite with wwritedata
|
Thu, 14 Dec 2006 20:25:19 -0600 |
Matt Mackall |
Simplify i18n imports
|
Wed, 13 Dec 2006 13:27:09 -0600 |
Matt Mackall |
Replace demandload with new demandimport
|
Tue, 12 Dec 2006 18:16:23 -0600 |
Matt Mackall |
Remove deprecated old-style branch support
|
Tue, 12 Dec 2006 17:52:33 -0600 |
Matt Mackall |
Fix copy detection corner case
|
Sun, 10 Dec 2006 20:35:28 -0200 |
Alexis S. L. Carvalho |
Use UTF-8 in .hg/branch
|
Mon, 04 Dec 2006 17:10:31 -0600 |
Matt Mackall |
imported patch collision
|
Sun, 03 Dec 2006 16:16:33 -0600 |
Matt Mackall |
Handle transcoding of branch names
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: handle directory renames
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: pull findcopies helpers inside, refactor checkpair to checkcopies
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: move check for empty ancestor into findcopies
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: only store one direction of copies in the copy map
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: add copied hash to simplify copy logic
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: remove unused match logic from findcopies
|
Thu, 30 Nov 2006 17:36:33 -0600 |
Matt Mackall |
merge: report destinations of moves in merge action messages
|
Mon, 27 Nov 2006 15:27:09 -0800 |
Brendan Cully |
Make context __eq__ handle arbitrary RHS values
|
Thu, 23 Nov 2006 22:45:00 -0800 |
Brendan Cully |
merge: Don't search for copies across unrelated manifests
|
Sat, 18 Nov 2006 11:34:19 -0600 |
Matt Mackall |
avoid unnecessary copy merges
|
Fri, 17 Nov 2006 08:06:54 +0100 |
Thomas Arendsen Hein |
white space and line break cleanups
|
Wed, 01 Nov 2006 21:47:55 -0600 |
Matt Mackall |
Clarify untracked file merge message
|
Tue, 31 Oct 2006 13:03:23 +0100 |
Benoit Boissinot |
merge with backout
|
Tue, 31 Oct 2006 13:02:49 +0100 |
Benoit Boissinot |
Backed out changeset 41989e55fa375de4376e7e64b17e38312e8ec140
|
Sun, 29 Oct 2006 14:18:55 +0100 |
Benoit Boissinot |
use workingcontext.files() to detect if the repo is unclean
|
Sun, 29 Oct 2006 13:08:10 +0100 |
Benoit Boissinot |
allow update to switch to a different branch if the repo is clean
|
Sun, 29 Oct 2006 10:53:51 +0100 |
Thomas Arendsen Hein |
Define and use nullrev (revision of nullid) instead of -1.
|
Tue, 17 Oct 2006 22:59:01 -0500 |
Matt Mackall |
merge: fix branch setting
|
Tue, 17 Oct 2006 22:34:43 -0500 |
Matt Mackall |
imported patch foo
|
Sun, 15 Oct 2006 16:18:09 -0500 |
Matt Mackall |
merge: if filemerge skips merge, report as updated
|
Fri, 13 Oct 2006 17:58:04 -0500 |
Matt Mackall |
merge: update dirstate correctly for non-branchmerge updates
|
Thu, 12 Oct 2006 14:49:19 -0500 |
Matt Mackall |
merge: turn followcopies on by default
|
Tue, 10 Oct 2006 03:39:44 -0500 |
Matt Mackall |
merge: pull user messages out to hg.py
|
Tue, 10 Oct 2006 02:31:02 -0500 |
Matt Mackall |
merge: update some docstrings
|
Tue, 10 Oct 2006 02:15:20 -0500 |
Matt Mackall |
merge: various tidying
|
Tue, 10 Oct 2006 01:43:58 -0500 |
Matt Mackall |
merge: use contexts in checkunknown and forgetremoved
|
Tue, 10 Oct 2006 01:16:06 -0500 |
Matt Mackall |
merge: shortcircuit filemerge for identical files
|
Tue, 10 Oct 2006 00:54:00 -0500 |
Matt Mackall |
merge: pull file copy/move out of filemerge
|
Tue, 10 Oct 2006 00:41:55 -0500 |
Matt Mackall |
merge: unify merge and copy actions
|
Tue, 10 Oct 2006 00:32:30 -0500 |
Matt Mackall |
merge: swap file and mode args for act()
|
Tue, 10 Oct 2006 00:22:03 -0500 |
Matt Mackall |
merge: finish removing nodes from action list
|
Mon, 09 Oct 2006 23:23:25 -0500 |
Matt Mackall |
merge: eliminate nodes from action list
|
Mon, 09 Oct 2006 21:27:04 -0500 |
Matt Mackall |
filemerge: use contexts rather than my and other
|
Mon, 09 Oct 2006 20:32:03 -0500 |
Matt Mackall |
merge: pass contexts to applyupdates
|
Mon, 09 Oct 2006 18:13:38 -0500 |
Matt Mackall |
merge: don't call hooks for revert
|
Mon, 09 Oct 2006 16:07:19 -0500 |
Matt Mackall |
merge: use contexts for manifestmerge
|
Sun, 08 Oct 2006 19:57:45 -0500 |
Matt Mackall |
merge: remember rename copies and parents properly on commit
|
Fri, 06 Oct 2006 16:55:11 -0500 |
Matt Mackall |
merge: copy fixes and tests
|
Wed, 04 Oct 2006 19:08:04 -0500 |
Matt Mackall |
merge: fixes for merge+rename
|
Wed, 04 Oct 2006 15:43:27 -0500 |
Matt Mackall |
merge: add rename following
|
Wed, 04 Oct 2006 14:33:22 -0500 |
Matt Mackall |
merge: reduce manifest copying
|
Wed, 04 Oct 2006 14:09:26 -0500 |
Matt Mackall |
merge: reorder dirstate update slightly for correctness
|
Tue, 03 Oct 2006 01:21:46 -0500 |
Matt Mackall |
merge: use new working context object in update
|
Mon, 02 Oct 2006 12:06:33 -0500 |
Matt Mackall |
merge: remove old merge function
|
Mon, 02 Oct 2006 12:04:48 -0500 |
Matt Mackall |
merge: extend file merge function for renames
|
Fri, 29 Sep 2006 17:50:59 -0500 |
Matt Mackall |
merge: minor nullid cleanup
|
Fri, 29 Sep 2006 16:39:38 -0500 |
Matt Mackall |
merge: use repo.parents and parent contexts in update
|
Tue, 26 Sep 2006 16:21:52 -0500 |
Matt Mackall |
merge: move partial filtering out of manifest merge
|
Tue, 26 Sep 2006 16:04:07 -0500 |
Matt Mackall |
merge: move findcopies after workingmanifest
|
Tue, 26 Sep 2006 15:58:51 -0500 |
Matt Mackall |
findcopies: shortcut for empty working dir
|
Mon, 25 Sep 2006 20:31:05 -0500 |
Matt Mackall |
findcopies: use dirstate rename information
|
Mon, 25 Sep 2006 16:45:31 -0500 |
Matt Mackall |
Add core copy detection algorithm
|
Sun, 17 Sep 2006 21:27:30 -0500 |
Matt Mackall |
merge: simplify actions with helper function
|
Sun, 17 Sep 2006 21:11:26 -0500 |
Matt Mackall |
merge: simplify local created logic
|
Sun, 17 Sep 2006 20:43:06 -0500 |
Matt Mackall |
merge: simplify prompt code
|
Sun, 17 Sep 2006 20:38:02 -0500 |
Matt Mackall |
merge: simplify exec flag handling
|
Sun, 17 Sep 2006 20:18:27 -0500 |
Matt Mackall |
merge: simplify tests for local changed/remote deleted
|
Sun, 17 Sep 2006 20:10:54 -0500 |
Matt Mackall |
merge: more simplification of m2 manifest scanning
|
Sun, 17 Sep 2006 20:00:14 -0500 |
Matt Mackall |
merge: reorder tests on m2 items in manifestmerge
|
Sun, 17 Sep 2006 19:54:01 -0500 |
Matt Mackall |
merge: eliminate redundant security check
|
Sun, 17 Sep 2006 19:53:19 -0500 |
Matt Mackall |
merge: eliminate confusing queued variable
|
Sun, 17 Sep 2006 18:28:50 -0500 |
Matt Mackall |
merge: remove no longer possible clause
|
Sun, 17 Sep 2006 17:39:19 -0500 |
Matt Mackall |
merge: move apply and dirstate code into separate functions
|
Sun, 17 Sep 2006 17:13:02 -0500 |
Matt Mackall |
merge: remove linear variable
|
Sun, 17 Sep 2006 17:07:44 -0500 |
Matt Mackall |
merge: simplify hook code
|
Sun, 17 Sep 2006 16:50:17 -0500 |
Matt Mackall |
merge: linear_path -> linear
|
Sun, 17 Sep 2006 16:47:33 -0500 |
Matt Mackall |
merge: pull manifest checks and updates into separate functions
|
Sun, 17 Sep 2006 16:13:34 -0500 |
Matt Mackall |
merge: remove now unused umap dict
|
Sun, 17 Sep 2006 16:13:03 -0500 |
Matt Mackall |
merge: pull manifest comparison out into separate function
|
Sun, 17 Sep 2006 16:02:09 -0500 |
Matt Mackall |
Merge with mainline
|
Sun, 17 Sep 2006 15:59:59 -0500 |
Matt Mackall |
merge: move set_exec to actions
|
Sun, 17 Sep 2006 15:54:51 -0500 |
Matt Mackall |
merge: add forget to action list
|
Sun, 17 Sep 2006 15:24:00 -0500 |
Matt Mackall |
merge: add codes to action list, eliminate None elements
|
Sun, 17 Sep 2006 15:10:56 -0500 |
Matt Mackall |
merge: convert actions to list
|
Fri, 15 Sep 2006 15:22:45 -0500 |
Matt Mackall |
Merge with crew
|
Sat, 26 Aug 2006 11:19:00 +0200 |
Benoit Boissinot |
fix errors reported by pychecker
|
Tue, 22 Aug 2006 21:02:25 -0500 |
Matt Mackall |
merge: fold umap and added into m1 manifest
|
Tue, 22 Aug 2006 19:39:54 -0500 |
Matt Mackall |
merge: make unresolved a counter
|
Tue, 22 Aug 2006 19:32:16 -0500 |
Matt Mackall |
merge: use context code to retrieve manifests
|
Tue, 22 Aug 2006 19:12:09 -0500 |
Matt Mackall |
merge: add remove to the action hash
|
Tue, 22 Aug 2006 18:06:17 -0500 |
Matt Mackall |
merge: combine merge and get lists
|
Tue, 22 Aug 2006 17:42:55 -0500 |
Matt Mackall |
merge: remove redundant if
|
Tue, 22 Aug 2006 17:26:44 -0500 |
Matt Mackall |
merge: eliminate mw manifestdict, do everything with m1
|
Tue, 22 Aug 2006 17:20:09 -0500 |
Matt Mackall |
merge: eliminate usage of m1 after working manifest creation
|
Tue, 22 Aug 2006 17:08:38 -0500 |
Matt Mackall |
merge: simplify working dir manifest generation
|
Tue, 22 Aug 2006 16:47:27 -0500 |
Matt Mackall |
merge: simplify some update logic
|
Tue, 22 Aug 2006 16:23:29 -0500 |
Matt Mackall |
merge: hoist partial code out of manifest loops
|
Tue, 22 Aug 2006 16:12:54 -0500 |
Matt Mackall |
merge: minor simplification
|
Mon, 21 Aug 2006 14:25:56 -0500 |
Matt Mackall |
merge: rename mysterious variable
|
Mon, 21 Aug 2006 14:21:42 -0500 |
Matt Mackall |
merge: add backwards variable
|
Tue, 15 Aug 2006 23:17:06 -0500 |
Matt Mackall |
merge: consolidate dirstate updates
|
Tue, 15 Aug 2006 22:46:35 -0500 |
Matt Mackall |
merge: use file size stored in revlog index
|
Tue, 15 Aug 2006 18:30:21 -0500 |
Matt Mackall |
merge: move forgets to the apply stage
|
Tue, 15 Aug 2006 18:12:36 -0500 |
Matt Mackall |
trivial bool() cleanup
|
Tue, 15 Aug 2006 16:27:19 -0500 |
Matt Mackall |
merge: hoist some working manifest logic out of merge loop
|
Tue, 15 Aug 2006 16:12:51 -0500 |
Matt Mackall |
merge: working manifest new/changed
|
Tue, 15 Aug 2006 15:58:10 -0500 |
Matt Mackall |
merge: factor out exec bit merge function
|
Tue, 15 Aug 2006 15:45:45 -0500 |
Matt Mackall |
Use revlog hash comparison technique in merge
|
Mon, 14 Aug 2006 14:42:15 -0500 |
Matt Mackall |
Merge with crew
|
Sat, 12 Aug 2006 16:40:12 -0700 |
Vadim Gelfer |
remove localrepository.changes.
|
Mon, 14 Aug 2006 14:14:08 -0500 |
Matt Mackall |
merge: minor simplification
|
Wed, 09 Aug 2006 22:07:13 -0500 |
Matt Mackall |
Merge: use single objects for tracking manifests
|
Wed, 09 Aug 2006 17:11:01 -0500 |
Matt Mackall |
Merge: save away mode bit so that we don't need manifest later
|
Wed, 09 Aug 2006 15:03:46 -0500 |
Matt Mackall |
Merge manifest refactor work
|
Tue, 08 Aug 2006 10:56:48 -0500 |
Matt Mackall |
Merge: combine force and forcemerge arguments
|
Tue, 08 Aug 2006 10:35:19 -0500 |
Matt Mackall |
Merge: move most tests to the beginning
|
Tue, 08 Aug 2006 09:26:00 -0500 |
Matt Mackall |
Merge: refactor err and failedmerge -> unresolved
|
Tue, 08 Aug 2006 09:19:20 -0500 |
Matt Mackall |
Refactor update locking slightly
|
Tue, 08 Aug 2006 09:11:16 -0500 |
Matt Mackall |
Merge: combine choose and moddirstate to partial
|
Mon, 07 Aug 2006 23:53:04 -0500 |
Matt Mackall |
Rename merge.allow -> merge.branchmerge
|
Mon, 07 Aug 2006 16:47:06 -0500 |
Matt Mackall |
Merge with crew
|
Thu, 03 Aug 2006 15:24:41 -0500 |
Matt Mackall |
Move merge code to its own module
|