Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

Faking per-hunk ancestors: msg#00006

version-control.revctrl

Subject: Faking per-hunk ancestors

One nice feature of three-way merge is that it presents a common ancestor
in the UI for merges. If Monotone switches to Codeville merge, we'd like
to continue to support this feature. The current version of Codeville
merge can't do this at all, but it turns out that the upcoming precise
merge can do it quite well.

We take the section of the weave which both sides of the conflict come
from (between the non-conflicting context lines) and pull out all lines
which are part of the 'common ancestor', and present them in the order
they appear in the weave. The funny thing about this approach is that it
might pull out a common ancestor which never actually happened, but when
that occurs the 'common ancestor' displayed is usually far less confusing
than a real common ancestor would have been, and this is just advisory
information anyway so it doesn't have to conform to mathematical
perfection.

Here's the filtering algorithm: Each line in the shared section will be
either unborn, living, or dead on either side, determine whether to
include it based on this table (lines with a * are included)

uu
ul
ud
lu
ll *
ld *
du
dl *
dd (see below)

In the dd case, it depends on how the line was deleted. If there's a
shared ancestor of both sides which deleted the line, then it isn't
included. Otherwise, the line is considered to have been deleted after the
shared ancestor, and is included.

Here are some examples:

abcd -> aXcd -> aYcd
abcd -> abPd -> abQd
(aXcd, abQd) -> aRd
(aYcd, abPd) -> aZd

Merging together aRd and aZd will now give a common ancestor of aYQd,
which never actually happened, but is the most reasonable common ancestor
to display.

abcde -> Xbcde
abcde -> abcdY
(Xbcde, abcdY) -> XbPdY
(Xbcde, abcdY) -> XbQdY

Merging XbPdY and XbQdY together will now give a common ancestor of XbcdY,
which also never actually happened, but is again the most reasonable thing
to display.

-Bram


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
hardware.arm.at...    cms.citadel.dev...    video.gstreamer...    java.facelets.u...    misc.basics.qna...    web.wiki.instik...    network.uip.use...    xdg.devel/2003-...    tex.bibtex.bibd...    finance.quotesp...    ietf.zeroconf/2...    redhat.blinux.g...    suse.db2/2003-0...    php.phpesp/2004...    uml.devel/2003-...    gnome.labyrinth...    qnx.openqnx.dev...    boot-loaders.gr...    db.dataperfect....    audio.audacity....    linux.uclinux.m...    editors.j.devel...    os.openbsd.tech...    kde.users.multi...   
Home | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation