merge README
By: Jeremy Buchmann
merge is a Perl script that merges Netscape bookmark files (commonly
named Bookmarks.html or Bookmarks.htm) and/or Internet Explorer "Favorites"
(often called Favorites.htm or Favorites.html). I wrote this originally because
I use several computers regularly and manually keeping a consistent bookmark
file between them is difficult and tedius.
Obtaining merge
merge is hosted on sourceforge.net.
The Web page is
http://merge.sourceforge.net.
What merge Does
- Merges Netscape and/or IE bookmark files.
What merge Doesn't Do Now, But May Do Later
- Check links for validity.
Usage
> merge [-s] -m[NS,IE] master-file -s[NS,IE] slave-file
Any combination of bookmark files is okay. NS->NS, NS->IE, IE->NS,
IE->IE merges are all okay. The output type will be the same as the
master type. Only URLs are compared; if they match, only the master copy
is kept. The directory structure is normally kept intact, but can be
sorted alphabetically with the -s flag. The resulting bookmarkfile is
printed to stdout, so you'll want to redirect it to a file.
Change Log
merge-0.3
- IE bookmark files now work! (for those versions of IE that use bookmark
files instead of a directory structure).
- Added the new command line stuff.
- Pipe symbols '|' are now turned into '!' before processing
the bookmark file.
- The output spacing is a little more accurate (the browser doesn't
really care, but I do :).
merge-0.2
- Got rid of some dumb parentheses in parseLinks().
- Added better URL comparing with the URL_equal() function. This should
fix bug #113467. I don't think [http://foo.com] and
[http://foo.com/index.html] should be the same anymore...PHP and other
dynamic stuff has changed this. http://linuxtoday.com is a good example
of this.
- printTree() now uses the current time for all the time-related stuff
in the links. This should take care of bug #113469.
merge-0.1
Bugs/Issues
- You shouldn't have the "|" symbol (the pipe symbol) anywhere in any of
the input bookmark files. If you do, merge will change it to a "!"
- [http://foo.com] will not match [http://foo.com/index.html] in any
cases. This isn't a bug.
- merge does not preserve dates, descriptions, subscriptions, or
anything else for bookmarks. I'm not sure that anyone cares anyway.
- merge is written in Perl, so you have to have a Perl interpreter.
Perl is standard on most if not all UNIX-like operating systems,
and there are Windows and Mac ports as well.
- On a related note, perl is expected to be in /usr/bin. You must change
this if it is not there. Just set the first line of merge to your path
to perl, or just run merge as an argument to the Perl interpreter. For
the latter case, the command line would be:
> perl merge -m[NS,IE] master-bookmarks.html -s[NS,IE] slave-bookmarks.html
License
merge uses the GPL. Please see the License.txt file that should have
come with this package or:
http://www.gnu.org/copyleft/gpl.html for a copy of the license.
Feedback
Feedback should be sent to
buchmann@cs.unr.edu. I am mostly interested in bugs/platform issues,
but any improvements or new features will be welcomed.