Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


Patch Integration?

  • Michael Rimov
    Michael Rimov

    Hi George,

    I've been happily generating VCards for a while now. Thank you very much!

    I was wondering, is there anything I could do to ease the integration of the
    patches I submitted? I'm getting different from trunk enough that I'm
    interested in seeing how to merge it all together.


    -Mike (R)

  • George_H

    Hi, glad to see you're satisfied with cardme.

    Oh sorry, I didn't realize your posted patches on the patch tracker. It's the
    one tracker I did not configure to send me email notifications :S

    Just took a look at them right now.

    The patch suggesting changes to eclipse structure is a sensitive one. I know
    the svn tree is not that properly laid out, it was like that when I got it. I
    don't mind changing stuff around in eclipse so long as the packages don't
    change. I don't want to break the user experience of upgrading to a new
    version of cardme and suddenly all the imports are wrong.

    Look what I'll do.

    Normally I go by the trackers for bugs, features, patches ...etc.

    I will try to integrate what I believe is valuable for all developers+users
    from your patches.

    SVN access may come later if you regularly have patches.

    Thanks for your contributions.

  • Michael Rimov
    Michael Rimov

    Hi George,

    Thanks for taking a look!

    All I'd like to see Eclipse-wise, is the eclipse files removed from svn and
    ignored so my eclipse files don't overwrite your eclipse files upon a checkin.
    LIkewise, I'd like to see the classfiles removed from SVN.... if the patch
    showed other eclipse changes, apologize, they weren't intentional.

    No big deal on commit privileges... I'm quite happy having another person look
    over my tweaks :) I just figured that the delay was because my patch was
    unintelligable :-)

    Out of curiosity, may I ask how did you inherit this project?


    -Mike (R)

  • George_H

    I was a contributer at first when I couldn't find a decent and simple to use
    vcard library. I contributed a lot of code and became a regular svn committer.
    After some emails back and forth with the creator it seems he wasn't going to
    have enough time to lead the project. Then after 1 or 2 years of inactivity I
    needed cardme again for one of my projects at work, so I sent in a request to
    own the project to sourceforge, it went through and here I am.

    Cardme is kinda funny, it was almost going to be useless to deal with vcards
    until smart phone came around and people needed to do import/export/manipulate
    contacts. So i'm happy its being used and I like developing on it to make it
    better for all the users who use it.

  • George_H

    I'll be going through the patch step by step.

    I'll be committing the stuff I like quickly. The rest I may ask you some
    questions about it, but all in all I am happy with the direction the patch is
    going in.

  • Michael Rimov
    Michael Rimov

    Re: Your "bio" -- yup, done that before, and you're absolutely right about
    vcards, most people abandoned their vcard projects about 5-7 years ago for the
    same reason.

    I'm VERY glad you kept it around and kept it going. I really appreciate it.

    I'll check back regularly if you have questions about my patches, and if you
    need me to go back to the drawing board on something, I'll be happy to.

    -Mike (R)

  • George_H

    Index: src/info/ineighborhood/cardme/io/
    --- src/info/ineighborhood/cardme/io/   (revision 106)
    +++ src/info/ineighborhood/cardme/io/   (working copy)
    @@ -149,6 +149,11 @@
    +   public VCardWriter(VCard card) throws VCardException {
    +       this(null,null, null);
    +       this.setVCard(card);
    +   }
         * <p>Creates a new VCardWriter with a specified version.</p>
    @@ -2639,7 +2644,9 @@
                        if(photoFeature.isURI()) {
    -                       tmpSb.append(photoFeature.getPhotoURI().getPath());
    +                       tmpSb.append(photoFeature.getPhotoURI().toString());
    +                       //See
    +                       //tmpSb.append(photoFeature.getPhotoURI().getPath());
                            String tmpPhotoLine = tmpSb.toString();
                            foldedPhotoLine = VCardUtils.foldLine(tmpPhotoLine, foldingScheme);
    @@ -2733,6 +2740,7 @@
    +                   sb.append(VCardUtils.CRLF);
                    else {
                        throw new VCardBuildException("PhotoFeature ("+VCardType.PHOTO.getType()+") exists but is empty.");

    Why are you adding an extra CRLF after the folded photo line when there
    already is a switch statement that decides how many to add underneath that
    line ?

  • Michael Rimov
    Michael Rimov

    Whoops -- ignore please... it was probably back when I was trying to make it
    work with outlook.

    Thanks for catching it.

    Once everything is checked in, let me know, I'll checkout fresh, and attempt
    running it with my outlook.


    -Mike (R)

  • George_H

    Oh I've already checked in the patches and made extra bug fixes that I found
    by running the unit tests.

    The only part of the patches I did not commit was of remove the eclipse

    The only reason I committed them was because I created a coding style config
    for cardme so if devs use Eclipse's auto source code formatting it would at
    least make the code pretty in a standard way.

    If I could just create a new repo for cardme I would, I'd also like to change
    the package name cos ineighborhood is an organization that no longer exists.
    but you know that would break most user's experience.

    You can update your SVN at anytime and check out the changes, right now I am
    focused on the unit tests.

  • Michael Rimov
    Michael Rimov


    Awesome unit tests! I'll add cobertura reporting to the maven build. Very

    I'm ok with the eclipse settings being still in there, however, might I
    suggest that you rename them so that they have a .template prefix or
    something? That way there's no chance that another committer who's
    accidentally copied other settings across will mess up the code repository.

    However, can you delete all the .class files that are sitting in the source
    tree? It would greatly help.

    Re Maven: Typically you should be able to do:

    mvn clean install

    I did a fresh checkout and a build using Maven 3 and it works fine -- there
    were some changes in the reporting between maven 2 and maven 3, so maybe
    that's what's going on? Otherwise, can you post the error so I can take a

    However, I'll add a line to the mvn pom that'll allow a default build of
    'install' so that you can just type:


    Anyway, I'll see about adding some code coverage metrics to the reporting and
    I'll let you know when I have a patch ready.

    -Mike (R)

    P.S. Way cool on the unit tests.

  • George_H

    The biggest problem with SVN is that once you commit something in the tree you
    cannot remove it.

    first off I am running the maven build from within eclipse, I think it uses
    some embedded maven jar v3.0.2.The error I get is the following:

    [INFO] Scanning for projects...
    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See [url][/url] for further details.
    Downloading: [url][/url]
    [ERROR] The build could not read 1 project -> [Help 1]
    [ERROR]   The project info.ineighborhood.cardme:cardme:0.2.8 (/home/pcs/workspace/cardme/pom.xml) has 1 error
    [ERROR]     Non-resolvable parent POM: Could not transfer artifact org.sonatype.oss:oss-parent:pom:7 from/to central ([url][/url] null to [url][/url] and 'parent.relativePath' points at wrong local POM @ line 3, column 10: UnresolvedAddressException -> [Help 2]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] [url][/url]
    [ERROR] [Help 2] [url][/url]

    Here's the thing about the eclipse settings, they're about compile/build
    warnings and java compatibility modes of the project. So if someone is
    committing on cardme and wants to change them, they shouldn't. But I
    understand if someone does something accidentally. ... this is an annoying
    issue, but most of it was done to enforce certain standards.

    I should really just create a new repo.

    Deleting stuff off SVN is the biggest pain in the ass. I'll see what I can do.

  • George_H

    bin directory with the class have been deleted!

    just need some help with maven + eclipse :)