Everything In Between

The brutally honest, first-person account of Meitar Moscovitz's life.

Archive for February, 2009

My tweets on 2009-10-13

leave a comment

  • Couldn't work much today. Instead, I am emotionally wrought to the point where parsing sentences is actually difficult. This is draining. :( #
  • @SoraiLaFey Thank you for taking the time to talk w/me the other day. @misscalico Thank you for doing the same today. I miss you both a lot. #
  • Self, stop avoiding sleep. Time keeps on, you can't do anything about it. Be grateful; it means you won't feel this bad forever. Sleep, now. #
  • I feel completely incongruent with the bright & beautiful weather today. I wish it were gloomy out instead, so I wouldn't feel so lost. #sad #
  • @benbalbo Internally !Laconica calls micro-messages "notices," which I like a lot. I suppose if you made that a verb it would be "noticing"? #
  • In 3 hours, I'm (ostensibly) presenting on @Drupal & the #semantic #Web http://groups.drupal.org/node/18999 but I've done zero prep. Advice? #
  • @lauras I haven't seen Shelley's work so THANK YOU for the pointer. I found her great post on adding #RDFa to @Drupal 6: http://tr.im/rdfad6 in reply to lauras #
  • @ryancross Good to hear that at least 1 person thought my presentation was "excellent." :P Also, thx for the pub chatter afterwards. Really. in reply to ryancross #
  • @juansequeda & interested others—Notes for my @Drupal & #semantic #Web talk are at http://maymay.net/maymay/tech/semdrupal/presentation.html in reply to juansequeda #
  • @juansequeda No, I'm not a @Drupal RDFa developer, just an avid user & enthusiastic contributor—for Drupal I mostly help with documentation. in reply to juansequeda #
  • On my way to bed at 4 AM, I realize I've ingested nothing but 2 coffees all day. Scary? Not really: depression reduces my monthly food bill. #
  • @Allyeska @Simonvw @spellrus I got heat for http://tr.im/realsyd but agree: Oz THINKS it's less conservative than it is. 1 reason I'm going. in reply to Allyeska #
  • @Allyeska @Chisa I've been to #burlesque shows but never gone to strip clubs. Former are like short stage plays, latter exploits BOTH sexes. in reply to Allyeska #
  • @spellrus Certainly good pockets of open minds but that does not a community, or a decent opportunity for sociosexual happiness make for me. in reply to spellrus #
  • @raena Sadly, no, I never made it to Melbourne & EVERYBODY says that. Oddly, I was told by many before I arrived Sydney was the place to be. #
  • @raena Haha, good description! ;) At times I heavily regret not going to Melbourne instead, but what's done is done. I need to move forward. #
  • @raena It's not a lack of intelligence that inspired my distaste for Sydney actually. Plenty of smarts here, especially in tech communities. #
  • @raena Hard to say this in 140chars: I'm leaving cuz to me Sydney is akin to bumfuck nowhere where nobody does or can talk about bumfucking! #
  • @raena Ok good—I think we're on the same page. To me Sydney's scenes feel like a flashback to 1970 where http://maybemaimed.com can't exist. #
  • I'm not sure if this is real but I was just emailed by someone claiming to be a writer for http://TimeOutNY.com wanting to plug @KinkForAll. #
  • RT @KinkForAll: Sad some won't be at #KFANYC for fear of being recorded…hope 1 day we'll live where such fear is unfounded…that's not today. #
  • @stav You'd install your own !Laconica server for autonomy, not for internal monologues, since you can still converse with other servers. :) #
  • @stav Yeah; if Identi.ca is down you can still talk to other instances. Running your own !Laconica also means provably owning your own data. #
  • @madalu What issues are you having with !Laconica regaring remote conversations? I can subscribe to http://army.twit.tv people w/o problems. #
  • @stav :) Fair enough. I use these notices for many purposes (many personal) & thus absolutely desire to own material in my own #life-stream. #
  • @stav I've also granted @CreativeCommons rights to my musings here http://identi.ca/notice/2358280 but Rights !== Ownership !== Autonomy. :) #
  • @madalu :) I also love being able to subscribe to people on other servers. It makes #Twitter and @Facebook feel SO last century, doesn't it? #
  • @stav I heard about guilt-by-accusation laws in New Zealand http://ur1.ca/1ow0 I think it's evil & draconian. I hope freedom prevails there. #
  • @katebornstein @urbantantrika I'd be very interested in hearing your take on "politics of outness" issue raised by #KFANYC http://tr.im/gBhp #
  • I am particularly sensitive today. :( A DM that said @KinkForAll is "unethical" has really hurt me, even though I think it wasn't malicious. #
  • @saraeileen I often feel many don't grok what it's like to have no space. I fight painfully to make one not cuz I want to but cuz I need to. #
  • @audaciaray Agreed. Personal responsibility always trumps police actions when anarchic collaboration is the means to an end—as it should be. in reply to audaciaray #
  • @misscalico As you know, #men without erectile dysfunction don't take #Viagra for the women in their lives. They take it for their own egos. in reply to misscalico #
  • Maybe if I consider today a weekend it would make me feel better about getting nothing done…it's too painful feeling excommunicated to work. #
  • "for men, acknowledging one's submissive sexual tendencies is not well-received by many, not even in BDSM" #ThingsYouDidntKnowBeforeYouMetMe #
  • @maymaym That was a quote from a convo on http://FetLife.com which is proving itself a decently okay bastion of Good. I'm gonna take a walk. #
  • Goddamn it. I took a walk & managed to distract myself for a while. Sure enough, I can't help not sobbing the moment I walk into our apt. :( #
  • Yet more child-porn FUD being used to justify stupid legislation. RT @webmink: US politicians declare war on DHCP: http://tinyurl.com/dk7abf #
  • Looks like @alexkingorg's latest Twitter Tools @WordPress plugin (version 1.6) finally restores correct daily digest posting of tweets. Yay. #
  • @saraeileen Happy birthday. I'm sorry I didn't get you anything for today…hopefully rose quartz and crocodile skin from Cairns will suffice. #
  • @GoSC_Melvar Don't use `image/svg-xml`, use `image/svg+xml`. Note the plus—not the minus. You might also see: http://wiki.svg.org/Inline_SVG in reply to GoSC_Melvar #
  • Woman asks: How do I [non-verbally] communicate my desire for submissive ppl…not vanilla men who typically proposition me? http://tr.im/gDk0 #
  • @maymaym Interesting! What performance markers do #dominant #women and #submissive #men have to communicate their desires, & who chose them? #
  • Way to avoid crying at home while hosting guests: turn a walk to a corner store into a 3hr stroll…at least I got @SaraEileen birthday gifts. #
  • #Sydney tweeps, party+sale at my place: Books/computers/spare disk drives/hardware/furniture/etc. for CHEAP. Call 04 1613 5021, DM or email. #
  • OH @ashenphoenix explaining a reasoning behind Canberra's political existence: No, Melbourne had a better penis but Sydney had a bigger one. #
  • LOVE how many http://FetLife.com/groups loudly decry S/speaking L/like T/this A/about D/dominance O/or S/submission. "Slashspeak" is stupid. #
  • @calypto You're not alone—to ignorant people BDSM power #dynamics = #heteronormative ones. Man=dominant, woman=submissive. Sexist indeed! :( in reply to calypto #
  • Shit, I'm listed as a speaker for @Sex20Con http://www.sex20con.com/2009-speakers/ Gotta figure out if I can afford to go; I REALLY want to! #
  • I'm mourning more losses than I can bear. My throat is hoarse, head is pounding & the room is still spinning. #RememberSuicideIsNotASolution #
  • @MollyRen Of course #dominant #women & #submissive #men are underrepresented. The interesting+helpful question, however, is why+how that is. in reply to MollyRen #
  • @standupkid That classic joke is one reason why I try to avoid the word "submissions" to indicate proposals and instead use "contributions." in reply to standupkid #
  • @JohnBaku I have a git-diff #patch available that adds basic #hCalendar support to http://FetLife.com/events pages. How do I send it to you? #
  • @katebornstein Not sure visiting a petting zoo will help me. But I was tempted to email you privately+ask for your perspective, which might. in reply to katebornstein #
  • Very seriously debating abandoning efforts at normal sleep cycles so that I'm more likely to be awake when North hemisphere friends will be. #
  • @standupkid Many #words have other meanings in #BDSM. "Play," "scene," "toy," "instrument," "safe" & "training" are some off top of my head. in reply to standupkid #
  • @SaraEileen Everything I do feels entirely improvised these days. Like my chocolate-pieces-and-tea-light substitute for a birthday cake…. :( in reply to SaraEileen #
  • Me: "I don't like it when you call me [strong]. I don't want to be strong." @SaraEileen: "What do you want to be?" Me: "Somebody else." #sad #
  • #Fairness is not about being equal (sameness), it's about being EQUIVALENT ie. having equal #opportunity to achieve different wants & needs. #
  • @NathanaelB That musing is from a draft sex blog post. Getting #fairness right is a big deal as "I get off on unfairness." http://tr.im/gGgp in reply to NathanaelB #
  • I ALMOST made it to a café w/o crying. Everything hurts. I want it to be 8 months ago or 8 months from now but am scared of both those. #sad #
  • @urbantantrika I'm struggling to find ways to do that that don't interfere with my professional commitments too much. I fear I'm failing. :( in reply to urbantantrika #
  • Envy of knowing @SaraEileen spends time w/@barrysaunders yet my close friends are ½ a world away is too unbearable not to say aloud. WWYouD? #
  • @misscalico Welcome to ejaculate. I'm shocked laundry detergents seem to be marketed to women considering how men need to use them for that. in reply to misscalico #
  • I wish social networks wouldn't use "friend" to indicate a connection cuz it terribly semantically misrepresents the function. Alternatives? #
  • @wheelyweb I argue it's NOT easy to understand. Also, what convention? @LinkedIn uses "connection," @Twitter uses "followers," and so on? ;) in reply to wheelyweb #
  • @BenWard This seems "layered." Can we abstract? Functional level describing generic social connection, another a context of that connection? in reply to BenWard #
  • Slowly working thru https://docs.google.com spreadsheet @SaraEileen & I have with columns "What," "By when," "How much," & "Is it done yet?" #
  • @oc_submissive Using a #MetaWeblogAPI enabled blog (eg, @WordPress), you can use #Google #Docs or MS #Word to compose posts, tables and all. in reply to oc_submissive #
  • Last wk's beautiful beach day was aborted+tomorrow's plan looks rained out. I was once told #anger is expectation unmet. There's anger here. #
  • @00Syd I do like "contact" or "connection" for their generality. One could say "connect w/ X" and then layer more subjective context on top. in reply to 00Syd #
  • @00Syd "How do you know this person"=useful in @Facebook's case—I see an issue w/using "friend" devoid of other options. Friend=meaningless. in reply to 00Syd #
  • Struggling to walk the line btw expressing sad or angry #emotions & keeping peace. I want both but sometimes one seems to cost me the other. #
  • @00Syd Also WTF is w/ "friending." The word is "befriending." Why does TEH #Internet turn people into #grammatical imbeciles? I mean really. in reply to 00Syd #
  • Crying so loudly a neighbor yelled out their window "Will you shut up or I'll call the police!" How did my home become solitary confinement? #
  • @voirol I'm ok. I closed the windows, called someone. I doubt the neighbor could identify it as me anyway. I live above a loud alley anyway. in reply to voirol #
  • Interesting to contemplate reasons why I tweet—1 keep digital records of my life 2 communicate w/others 3 mix 1+2—blurs personal boundaries. #
  • @oc_submissive I'm not talking about copy+pasting but about #publishing blog posts directly from #Google #Docs: http://tinyurl.com/cuprzc ;) in reply to oc_submissive #
  • @keyboardklatter @Anwyn Comparing sizes of possible good there is often a red herring…instead, I prefer to compare one's own endurance w/it. in reply to keyboardklatter #
  • @bellaforte Compromise is a bad tactic, in my opinion. Splitting the difference is only good for the leader—why give up a win/win so easily? in reply to bellaforte #
  • @romanticrope @SaschaK Sometimes taking care of others is a better oxygen mask than prioritizing differently—consider looking outside first. in reply to romanticrope #
  • @SaraEileen The people you care about, if they care about, will always want you to do what's best for yourself. They ask the same questions. in reply to SaraEileen #
  • @SaraEileen People you care about, if they care about you, will always want you to do what's best for yourself. They ask the same questions. in reply to SaraEileen #
  • @jane_l You can blame puritans+radical feminists for that. Irony of decrying others as emotionally crippled based on #sexuality escapes 'em. in reply to jane_l #
  • @mfmakichen @jane_l @Colleen_Lindsay You may be surprised how accurate Bodiced Damsels Seeking Men is to describe many perceptions of #BDSM. in reply to mfmakichen #
  • @jane_l The BDSM scene isn't what most think—it's in fact a microcosm of larger society, w/all the old prejudices displayed in all new ways. in reply to jane_l #
  • @evan Wow, thanks so much for uplifting email. :) It's a "little thing" that goes a very long way. You+team deserve "thank you"s lots+often! #
  • @jane_l It's difficult to express succinctly in 140char. You may find http://maybemaimed.com (my #sex + kink #blog) interesting+explanatory. in reply to jane_l #
  • Weather widgets lied; sea was warm & sunny & tumultuous & cathartic. @SaraEileen says, "The ocean's a good place to mourn," & I cry again. #
  • Not sure why it's taken me so long to decide that my new favorite #Subversion client is (drum roll pls…) #git. So now `alias svn='git svn'`. #
  • @ryancross I'm loathe to offer a tutorial on #git-svn for folk new to !git because it feels like telling people how to buy Vista Home Basic. in reply to ryancross #
  • @DominaCaffeine That's an old+very offensive trope of BDSM joke. I get where http://SomethingPositive.net is coming from but was NOT amused. in reply to DominaCaffeine #
  • @DominaCaffeine When #submissive #men's ineptitude stops being a butt for all jokes for #hegemonic #masculine #culture, I'll start laughing. in reply to DominaCaffeine #
  • @DominaCaffeine @jane_l It says something about BDSM communities when they opt-in as "audience" of humor that denigrates a constituent part. in reply to DominaCaffeine #
  • Today was sorrowfully bittersweet. I'm grateful for @SaraEileen's presence, despite being inconsolable. Tonight is contemplative & restless. #
  • @DmitryBaranovsk http://WashingtonPost.com using SVG/VML for dynamic graphics rendered by @RaphaelJS: http://tinyurl.com/d4zj7v via @ajaxian #
  • @ryancross Since I couldn't sleep, I decided to grant your wish for a blog post explaining how to use #git-svn: http://tinyurl.com/cry2tl ;) in reply to ryancross #
  • @RyanRoberts @johnallsopp's its author—see its site http://microformatique.com. I say buy! You may also like @emilylewis's http://tr.im/gJMY in reply to RyanRoberts #
  • Goddamnit. I hate—HATE—when companies make it impossible to find the "cancel my service" link on their web site. I'm looking at you, @iiNet. #
  • Sitting in a café watching a young woman cry on the shoulders of her friends. This is the 2nd lady I've seen crying today. Is it me, or Feb? #
  • @webchick I WISH I'd win awards for trivial patches—such trivialities are my biggest contributions to open source projects. ;) YAY FOR DOCS! in reply to webchick #
  • @wheelyweb I've scoured the @iiNet Toolbox, too. Closest to "cancel" is "Change your ADSL Plan" which sends you to an "Upgrade" form. #FAIL! in reply to wheelyweb #
  • I wonder if Ajaxian's http://tinyurl.com/d4zj7v on spotting SVG in the wild will make nay-sayers think twice about http://tinyurl.com/792wkq #
  • @wheelyweb I "updated" @iiNet bank acct details to 000-000…+sent support email. I shouldn't have to talk to a human to end Internet service. in reply to wheelyweb #
  • I've so often heard I'm "not emotionally stable" that it's odd to hear friends describe my recent sobbing as a "#normal emotional response." #
  • Can't grok why adding " to !Laconica's common_render_content() !regex is SO hard. http://tr.im/gL4R Grr on !PHP for making regexes==strings. #
  • Spicing up #blogging: I've shared a Google Doc as a draft post+invited selected contacts to leave comments & #brainstorm w/me. Great so far! #
  • So @iiNet REQUIRES "verbal confirmation" of ending service. What a PITA. Oh yeah…and my cancellation will cost me $200 AUD. Fucking "plans." #
  • Obama's speech http://tr.im/gLdL has news anchor @TerryMoran trying to grok @Twitter http://tr.im/gLdM They still say "on my #Twitter page." #
  • Hm. Obama equates dropping out of high #school with "quitting on your country." I dropped out of middle school and I MOVED UP a tax bracket. #
  • @sarahfrantz I share my president's love of learning however I, like #Mark #Twain, have never let my schooling interfere with my #education. in reply to sarahfrantz #
  • Crying one minute. The next, plugging in my headset to speak with my publisher on Skype. This should go well…right? Deep, deep breaths. #sad #
  • @ironrose13 Subjectively speaking http://Identi.ca is faster than @Twitter, has less downtime, has more features & is idealistically better. in reply to ironrose13 #
  • @katska But…it's not @Twitter? No, really, I see no reason not to use http://Identi.ca over #Twitter except to pander to the network effect. in reply to katska #
  • Big thank you to @JanesGuide, who says http://maybemaimed.com is Quality+Original! Soon I'm going to give you folks a present out of #happy. #
  • I see @SaraEileen so little these days that I feel anxious to be out while she's home…the precious few hours I have left with her slip away? #
  • Making creative SVG assets for @KinkForAll w/ @SaraEileen despite not being physically near her. Skin still aches but mind feels bit better. #
  • @katska Yes. http://Identi.ca is a better #Twitter than @Twitter but most people don't know about it. Lots of things in life are like this…. in reply to katska #
  • @ironrose13 Post to @Twitter from Identi.ca: http://identi.ca/settings/twitter I do this. Try watching+emulating me—email if have questions. in reply to ironrose13 #
  • Cramming as much liveblogging & A/V media production knowledge into my head as I can in preparation for helping #KFANYC. Not easy at 3:45AM. #
  • @eurydice72 You've been SO supportive, you're who I keep in mind when I think about how important it is to get @KinkForAll a net connection. in reply to eurydice72 #
  • !glbt !queer #Discrimination: RT @adrianlang, @ihdl: homosexuals got banned from #xbox live for their #sexual orientation http://ur1.ca/1xgq #
  • @webchick's brilliant+"shocking" #women in #FLOSS & challenges they face preso: http://tinyurl.com/dd5jnj via @adrianlang #
  • My "invite collaborators to help me blog" idea has proven spectacularly successful (at least this time). Now to sleep on the final draft. :) #
  • Sometimes when I wake up, for the first few hours I'm awake colors don't look the same to me as they do later in the day. Is that…like, bad? #
  • @crinkled Yes, actually, you should get that checked out. ;) I'd rather be unable to see colors not distinguish shapes. B&W's still pretty…. in reply to crinkled #
  • @discworldian Really? #Colors look different in the morning because my eyes were looking at red eyelids all night? How does that work? Link? in reply to discworldian #
  • @katebornstein That's a special kind of dumb. If only more men were smarter, like these boys will be: http://youtube.com/watch?v=bXjUPOJmChc in reply to katebornstein #
  • @SaraEileen Who thought @KinkForAll is SCARY? People who think #KFANYC or other sexuality events might be SCARY are exactly who should come! in reply to SaraEileen #
  • RT @echomikeromeo: Ppl don't believe that #sexism still exists. I've [fought] it all my life+it's made me hate the way I was born. It exists #
  • Another reason I effin' love #git: `git clone –mirror $URL` makes it ridiculously easy to do file #backups from my web server. No more tar. #
  • NYC DA: for-pay BDSM "activities arousing to the participants" will be prosecuted as #prostitution http://tinyurl.com/admajz via @misscalico #
  • @a_grue Night vision is a product of fluid my eyes constantly generate that breaks down in light? I'M A #SCIENCE #FICTION CREATURE! AWESOME! in reply to a_grue #
  • Saying same thing 5 different ways+still not trusted by people=upsetting. This ISN'T me playing king of the hill—this is followthrough. #sad #
  • "Looking fwd" to 3 days/2 nights alone as @SaraEileen spends weekend w/ @barrysaunders. Somehow I can't scrub the bitterness from my tongue. #
  • @maymaym Cuz I've gotten msgs: here are those murky personal boundaries; you—yes, you—should question your interpretation of my last notice. #
  • RT @JeniT: @psd I second that! "HTML is a living language & the HTML5 WG should behave more like the OED rather than the French Government." #
  • I don't know if I can go, but I got a $30 early bird @Sex20Con ticket anyway cuz I WANT to go that much. (Still don't like "Sex 2.0" name….) #
  • @clith I went exceedingly meta for !MacOSX group; I used a screen capture taken with Grab.app from the "About This Mac" floating window…. :) #
  • Dan Savage links http://MaleSubmissionArt.com http://tr.im/gQYb Would've been better if hadn't used "humiliating" as synonym for submissive. #
  • Well, fuck. I've inadvertently pulled an all-nighter & I THINK (but can't remember) if I'm supposed to be awake at 11 AM for an apt tour. :( #
  • Okay really. The Australian thing of allowing your realtor to invite folk into your home for 15min before you've moved out is FUCKING CRAZY. #
  • @anotheradwanker Also, THE ENTIRE SERVICE INDUSTRY is slower than a dead snail trapped under a rock but realtors are somehow all CHOP CHOP?! in reply to anotheradwanker #
  • @eurydice72 Well just fuck it then. When I grow up, I'm going to live on Mars. Secondary boon: maybe more beings who are more like me there. in reply to eurydice72 #
  • @rww #Publishing industry isn't dead enough…they feel a need to destroy their own future? Have they learned nothing from the music industry? in reply to rww #
  • Now I face the interminable question to sleep or not to sleep? At noon, no less. And just when I thought this weekend wouldn't be any worse. #
  • Yeah, okay, fuck this. Just fucking fuck it with a fucking fuck. I'm just going to give up on this idea that I'm going to sleep today. Fuck. #
  • @NathanaelB I can go HIGHER on the http://Cursebird.com ladder? You still follow me, right…? (I seem to have disinterested some tech folks.) in reply to NathanaelB #
  • Always amazed at how large the computing world is. I just had a nice chat with an IBM intern at a café who had never heard of !Vim or !Trac. #
  • Googling for the coolest, prettiest, auto-updating (without needing a page refresh) @Twitter, @Flickr, @Delicious, etc widgets. What to use? #
  • I know y'all have favorite #blog #widgets for @Flickr & @Delicious feeds—what are they? So far my fav @Twitter 1 http://tweetgrid.com/widget #
  • ♻ @elpie: ♻ @anitaborg_org: ♻ @susanmernit: @chrismessina calls for gender-balanced tech conferences http://ff.im/-1gcIY (i ♥ our ♂ allies!) #
  • Wow, for serious, the @WordPress #documentation is SERIOUSLY lacking. Thank god its APIs are relatively simple 'cause otherwise I'd be lost. #

Written by Meitar

February 28th, 2009 at 9:00 am

Posted in General

How To Use Git-SVN as the Only Subversion Client You’ll Need

16 comments

I’ve been using git as my favorite version control tool for quite a while now. One of its numerous distinguishing features is an optional component called git-svn, which serves as a bi-directional “bridge” that enables native git repositories to interact with a Subversion repository, performing all the normal operations you would need to use svn for. In other words, since you can checkout, commit to, and query the logs of Subversion repositories (among other things) using git-svn, git can serve as your all-in-one Subversion client.

One reason why you might use git-svn because your project actually resides in a Subversion repository and other people need to access it using Subversion-only tools. Another might be because you have multiple projects, some that use git and others that use Subversion, and you’re tired of switching between svn and git commands—like me. For us, it’s far easier to simply use git as a Subversion client and never have to call svn directly.

As an important aside, please note that I would strongly discourage people who are new to git from learning about it by using git-svn. Although you may think that moving to git from Subversion would be eased by using the git-svn bridge, I really don’t think that’s the case. You’re much, much better off simply using git by itself right off the bat, and you can do this even if your fellow committers are using subversion.

Also, I’m going to assume you’ve already got a Subversion repository set up somewhere.

First, checkout the subversion repository. In Subversion you would do this:

svn checkout http://example.com/path/to/svn/repo

With git-svn, you do this:

git svn clone http://example.com/path/to/svn/repo

This will cause git-svn to create a new directory called repo, switch to it, initialize a new git repository, configure the Subversion repository at http://example.com/path/to/svn/repo as a remote git branch (confusingly called git-svn by default, although you can specify your name by passing a -Rremote_name or --svn-remote=remote_name option), and then does a checkout.

The output of this command will be a little awkward. Here’s a sample from one my repositories:

r14 = dbd7266f328ef2ad061ea4532f39ce7cebaba0c5 (git-svn)
	M	trunk/Chapter 6/Chapter 6.doc
	M	trunk/Chapter 6/code examples/6.1.html
	A	trunk/Chapter 6/code examples/6.2.html
r15 = 4cca08341ab0600069cece77ce67afc449caca68 (git-svn)
	M	trunk/Chapter 6/Chapter 6.doc
	A	trunk/Chapter 6/code examples/print.css
	A	trunk/Chapter 6/code examples/screen.css
	M	trunk/Chapter 6/code examples/6.1.html
	M	trunk/Chapter 6/code examples/6.2.html
r16 = 7b2f3e0ccfd79be61b527b6ba325f8689475dc01 (git-svn)
	M	trunk/Chapter 5/Chapter 5.doc
r17 = a319764855361d92bb6e006cfd18a51319046cae (git-svn)
	M	trunk/Chapter 5/Chapter 5.doc
r18 = 4cd5cb43d33b2dd45bd39b9a2b7ea9416f9e3d8f (git-svn)
	M	trunk/Chapter 6/Chapter 6.doc
	M	trunk/Chapter 6/code examples/screen.css
	M	trunk/Chapter 6/code examples/6.1.html

As you can see, git-svn is associating specific Subversion revisions with particular git commit objects. Due to this required mapping, the initial cloning process of a Subversion repository may take some time. This is a good opportunity for your morning coffee break.

When this process is done, you’ll have a typical git repository with a local master branch and one remote branch for the Subversion repository:

Perseus:repo maymay$ git branch
* master
Perseus:repo maymay$ git branch -r
  git-svn

You can now treat the Subversion repository as though it were a remote branch of sorts. Say you’ve done a bunch of work and, as you typically do with git, you commit this work to your topic branch.

Perseus:repo maymay$ git checkout -b awesome-feature
Switched to a new branch "awesome-feature"
Perseus:repo maymay$ vim awesome-feature-stylesheet.css
Perseus:repo maymay$ git add awesome-feature-stylesheet.css
Perseus:repo maymay$ git commit -m "Now I'm perty."
Created commit 07ee832: Now I'm perty.
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 awesome-feature-stylesheet.css

Right now your changes are still in the topic branch (called awesome-feature in the above example). To get them to Subversion, you merely need to say git svn dcommit:

Perseus:repo maymay$ git svn dcommit
Committing to http://example.com/path/to/svn/repo ...

Note that pesky extra “d” in the command. This is the equivalent of Subversion’s svn commit, but the commit message used is the one from the previous command, which in this case was git commit -m "Now I'm perty.". Also interesting to note here is that because Subversion doesn’t understand git branches, any change on any branch can be “pushed” to Subversion at any time using git svn dcommit—the git commits don’t have to be on any specific branch, since all git-svn does is map a git commit object to a Subversion revision and vice versa.

Similarly, you can at any time run the equivalent of svn update to get the latest changes from the Subversion repository into your Subversion branch.

  • To do this, without affecting your working tree—that is, to only fetch the latest changes but not write them to the filesystem, just to the git-svn metadata area and the remote git branch—use git svn fetch. To apply these changes to your local branch, you simply merge: git checkout master; git merge git-svn.
  • If you do want to write out the changes to the filesystem (as svn update would do), use git svn rebase, which automatically linearizes your local git commit history after the commit history of the incoming Subversion changesets. Very slick.

If your fetching/rebasing causes a conflict, you’ll be notified and will have to resolve it as per usual. If your “pushes” to the svn repo causes a Subversion conflict, you’ll be notified and you should again edit the appropriate files to resolve it, but this time make sure you run a git svn rebase before you try dcommit-ing again (since, remember, Subversion can only handle linear commit history).

As always, saying man git-svn or git help svn to your shell will give you all the other details. Among these, the most likely you’ll probably want to learn about is how to track multiple Subversion branches as normal git branches.

Written by Meitar

February 24th, 2009 at 1:17 pm

My tweets on 2009-02-19

leave a comment

  • Couldn’t work much today. Instead, I am emotionally wrought to the point where parsing sentences is actually difficult. This is draining. :( #
  • @SoraiLaFey Thank you for taking the time to talk w/me the other day. @misscalico Thank you for doing the same today. I miss you both a lot. #
  • Self, stop avoiding sleep. Time keeps on, you can’t do anything about it. Be grateful; it means you won’t feel this bad forever. Sleep, now. #
  • I feel completely incongruent with the bright & beautiful weather today. I wish it were gloomy out instead, so I wouldn’t feel so lost. #sad #
  • @benbalbo Internally !Laconica calls micro-messages “notices,” which I like a lot. I suppose if you made that a verb it would be “noticing”? #
  • In 3 hours, I’m (ostensibly) presenting on @Drupal & the #semantic #Web http://groups.drupal.org/node/18999 but I’ve done zero prep. Advice? #
  • @lauras I haven’t seen Shelley’s work so THANK YOU for the pointer. I found her great post on adding #RDFa to @Drupal 6: http://tr.im/rdfad6 in reply to lauras #

Written by Meitar

February 19th, 2009 at 9:00 am

Posted in General

How To Start Contributing To Open Source Projects

7 comments

If you’re anything like me, then you’ve been using open source projects for years. You love them, you know them, and you want to help them. But you aren’t the fastest programmer, or the smartest, and you’ve finally gotten to a point in your life where you’re okay that someone, somewhere, is going to be better than you at everything you do.

To this I say congratulations, because now—at last—you’re ready to start contributing to open source projects. To help you out, here are a few of the things that I’ve noticed that have been immensely helpful for me as I’ve started to make the transition from power user to contributor.

Start with the bugs

Contributors to open source projects are like Tom Hanks in the movie Cast Away. No matter how much help you get from the mailing list or the chat room, you’re still ultimately going to have to figure stuff out for yourself. This is a challenge, to be sure, but the good news is that you don’t have to work it all out on your own—it is an open source and collaborative project, after all, right?

So, very often, the best ways to start contributing is by sending bug fixes in as patches, the smaller the better. I think my first bug fix to an open source project was like 3 lines, and all my first contributions to subsequent projects have been that size or smaller. Surf to the issue tracker and cruise over to all the bugs in your down time, read them and work through the process of reproduce, fix, and test. Lather, rinse, and repeat until you have a patch to contribute.

Atomicity helps here, which is to say you should be certain to contribute one patch per bug fix. (Don’t send a single patch that fixes 10 unrelated bugs. That can be extremely difficult for a project maintainer to review.) Sure, bug fixing isn’t a glamorous contribution, but you’d be amazed how appreciated it is. Seriously, nobody likes bugs, so you can easily become an unsung hero for one of the core developers if all you do is ruthlessly cull the bug list.

Speak with results, not with possibilities

There are lots of times when it pays to discuss things on a mailing list before you go and lay down code for them. However, if you’re just getting started contributing to a project and your changes are relatively small and simple, you’re much better off just implementing them and sending in a patch. Once you have code to explain what you mean to do, then discussing it with the project at large can get you places.

There are a few reasons for this, but the primary one that’s impacted me is easier communication: many people use the same words to mean different things, and this makes communication about code in a human language (typically over a mailing list with hundreds of people living in countries all over the world) really hard. In comparison, (most) computers will treat your code in the same exact way. This means it’s much easier to talk to the community using the project’s own code than it is likely to be for you to get all the terminology correct in a mailing list message or a chat room.

Do things their way, not your way

This should be obvious, but I often see other people making this mistake so I’ll mention it anyway. When you contribute to a project, you really, really, really should pay attention not just to what the project is doing, but also how they’re doing it. This does actually require a bit more observation on your part than you might think at first, but it’s still not that hard.

If the open source project were a planet, then when you start contributing, you’re still an insect in its world. (That’s why you’re starting with the bugs, remember?) Quite simply, match the coding style of the project. Figure out what the preferred way to report bugs and to send patches are. For goodness sake, RTFM (no, really, read it—twice if you have to).

In many cases the project’s developers will have already spent hours trying to make all of this information available to you somehow, so it can be really demoralizing for them (and ultimately for you, too) if you don’t take advantage of it. Now admittedly, many projects don’t do this very well, but they have tried. In fact, if you think you can make the information more easily available, perhaps by fixing the grammar, correcting typos, reorganizing a wiki page, or whatever, then contribute!

Leave your ego on your side of the screen

Y’know office politics? Well, sometimes, open source politics can make office politics look like child’s play. It’s kind of a tragedy, actually, but it’s true. And all the poison stems from people’s egos. The maintainers of all the best-run projects remove negative emotion and ego from their mailing list messages, and are quick to defuse ego-filled situations.

As a contributor, this means you should do your best to do the same. Do not—do not—lobby for the inclusion of a particular piece of code, bug fix, feature, extensions, plugin, whatever, just because you wrote it. Seriously. Do not do this. In open source projects, your only currency is your reputation, and you’ll be doing yourself a lot more harm with your ego than you’ll do good with your code.

If you feel really strongly about something, you can always just fork the code base and do your own thing anyway. However, even better than that, try to avoid fragmenting the community and just maintain your own branch locally, and then freely share your patches amongst the people who care about it. (And if you’re not yet using a distributed version control tool, this is a major reason to learn one, like git.)

Acknowledge your strengths and your weaknesses

For a long time I completely shied away from areas in a project where I knew my skill was subpar. This was actually really stupid because it cut off one of the best opportunities I had to improve said subpar skill. I stopped doing this when I started looking at bugs in areas of code bases I was unfamiliar with and, guess what, I got better!

When you’re working in areas in which you are not an expert, it’s easy to become defensive about your lack of skill when you know you’re going to be reviewed by people who know more than you. It’s intimidating, and stressful, yes, but it’s also an amazing learning opportunity. That being said, you can’t just expect to jump into open source projects as a way to lazily get an education. If anything, I contend that learning with this method is way, way more reliant on your own initiative and effort than formal schooling is because, again, no one’s going to (nor should they) hold your hand.

It’s also exceptionally difficult because, since it’s open source, you’re essentially making your lack of expertise public knowledge. It’s not easy to admit having flaws in some areas, and it’s naturally even harder to do so in public. But again, when you can do this well, then you’ll also be able to garner the immense benefits that come with coding (and screwing up) in public, including greater creativity, better experimental branches, and a faster learning curve. (Once again, I think Git is a fantastic tool for this.)

Conclusion: treat others the way you would like to be treated

As I look over much of what I’ve written here, what strikes me more than anything else is that nothing here is specific to open source software development, except the terminology. All of this is, in fact, much more relevant to the every day living of one’s life. So, as you should do in code, do in your life: identify the problems, focus on results, hone your communication, and make bettering your own process an integral part of your process.

After all this, well, I guess I should should get back to work now. :)

Written by Meitar

February 11th, 2009 at 3:06 am

Posted in General,HOWTO

Buy Web Development Books from SitePoint’s 5-for-1 Sale and Donate to Bushfire Relief

leave a comment

For those of you who don’t already know, I’ve been a blogger over at SitePoint for a few months now. Today, I’m even happier to be a participant in the SitePoint community because, for a limited time only, SitePoint is offering the sale of the century: buy 5 SitePoint books for the price of 1. Every last cent of the proceeds from the sale of these books will go towards relief efforts for the recent Victorian bushfires that have claimed over 300 lives and are among the worst fire disasters on record.

The books are full-color PDF downloads, and include some really awesome titles. These are precisely the kinds of books you want as PDFs, too, since you can search through them and always keep them with you while you’re coding and looking for inspiration or a reference (even when you’re without Internet access). I couldn’t help but pounce on this deal, and I’m now the proud owner of the following books, which have all received some pretty great reviews:

In just 3.5 hours, SitePoint has managed to raise over $15,000 AUD, according to employee Kevin Yank on Twitter. And that’s just on this side of the world. All my North hemisphere friends were asleep when this was announced, but not to worry. SitePoint’s sale will last until this Friday, so there’s plenty of time to take advantage of it.

Obviously, I think you should do so. Not only are you getting some really quality content and helping disaster victims at the same time, you’re also sending a loud and clear message that companies whose humanity outshines their accounting are the ones you’re going to support. I’m thrilled to see that SitePoint is one of these human companies, and ever more thrilled to be a part of it.

Written by Meitar

February 10th, 2009 at 8:06 am