Difference between revisions of "Working on a Styles Bug"

From Dreamwidth Notes
Jump to: navigation, search
m (I always forget the category)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
This article may be incomplete and needs checking by a Styles person!
 +
 
= Selecting a Layout for your Journal =
 
= Selecting a Layout for your Journal =
  
 
<dwuser>afuna</dwuser>'s notes:
 
<dwuser>afuna</dwuser>'s notes:
# claim a bug
+
# [[Dev_Getting_Started#Finding_something_to_work_on | claim an issue]]
# get the source code from layer
+
# get the [http://www.dreamwidth.org/customize/advanced/layerbrowse source code from layer]
# copy or set up style as necessary
+
# [http://dw-styles.dreamwidth.org/11389.html copy or set up style] as necessary
 
# make changes; compile; check in various browsers, or whatever...
 
# make changes; compile; check in various browsers, or whatever...
  
Line 10: Line 12:
 
This guide is written assuming you have some basic knowledge and familiarity with Linux/UNIX, shells, file systems, etc. To work on styles bugs, you will also need familiarity with CSS and the S2 language. Knowledge of Perl is a bonus but not required (unless you want to work on S2.pm or other modules). If you only have Windows to work on, don't despair! It's possible to work with the repositories through the Windows Explorer, too.
 
This guide is written assuming you have some basic knowledge and familiarity with Linux/UNIX, shells, file systems, etc. To work on styles bugs, you will also need familiarity with CSS and the S2 language. Knowledge of Perl is a bonus but not required (unless you want to work on S2.pm or other modules). If you only have Windows to work on, don't despair! It's possible to work with the repositories through the Windows Explorer, too.
  
== Install Mercurial ==
+
As an alternative, you can do Styles work using a [[Dreamhack]].
 
+
$ sudo aptitude install mercurial
+
 
+
or use Synaptic package manager (System->Administration->Synaptic Package Manager). Windows users can install [http://bitbucket.org/tortoisehg/stable/wiki/Home TortoiseHG], which is a context-menu (i.e. right-click) interface to Mercurial in Windows Explorer.
+
 
+
Add Mercurial Queue support by editing ~/.hgrc to add this section:
+
 
+
[extensions]
+
hgext.mq =
+
 
+
Edit the ~/.hgrc file to add your username/e-mail and the hook to prevent pull from running when there is a patch applied to the stack (don't worry if you don't understand what this means):
+
 
+
[ui]
+
username = USERNAME &lt;E-MAIL&gt;
+
[hooks]
+
#Prevent "hg pull" if MQ patches are applied.
+
prechangegroup.mq-no-pull = ! hg qtop > /dev/null 2>&1
+
 
+
(Replace USERNAME and E-MAIL with your username and e-mail). Unfortunately, MQ has not been adapted for TortoiseHG yet, which makes the commit/patch process a little more complicated.
+
  
 
== Getting the DW Code ==
 
== Getting the DW Code ==
  
Create a main working directory for the Dreamwidth source. Most of the instructions on the wiki are tailored to the source directory being <code>~/dw/cvs/dw-free</code> but you can use anything you like. I happen to use <code>~/projects/dw-free</code> .
+
Create a main working directory for the Dreamwidth source. Most of the instructions on the wiki are tailored to the source directory being <code>~/dw</code> but you can use anything you like.
 
+
"Clone", i.e. download and create the dw-free repository:
+
 
+
$ hg clone http://hg.dwscoalition.org/dw-free
+
$ hg update -C tip
+
 
+
Repeat for the non-free repository, which also contains some of the layouts:
+
 
+
$ hg clone http://hg.dwscoalition.org/dw-nonfree
+
$ hg update -C tip
+
 
+
To begin working with Mercurial Queues, execute these commands in each of your DW repositories to initialize the queue repository. For example, if your working directory is <code>~/dw/cvs/</code>, enter:
+
 
+
$ cd ~/dw/cvs/dw-free
+
$ hg qinit -c
+
 
+
There is more information on working with Mercurial Queues on the Dreamwidth Wiki [[Version_Control#Working_with_patches|here]].
+
 
+
The S2 layers are located in <code>dw-[non]free/bin/projects/upgrading/s2layers/$layoutname/layout.s2</code>
+
  
= Generating and Submitting the Patch =
+
You'll next need to follow a subset of the instructions on [[Moving your Dreamwidth installation to use Github]], specifically steps 4 through 8.
  
In part 3 of the tutorial, I'll go through the process of claiming and patching a bug step by step.
+
For more on how to use Git for version control, see [[Git settings]] and [[Git How To]].
  
 +
[[Category: Articles Needing Cleanup]]
 
[[Category: Styles]]
 
[[Category: Styles]]

Latest revision as of 16:48, 7 November 2015

This article may be incomplete and needs checking by a Styles person!

Selecting a Layout for your Journal

[info]afuna's notes:

  1. claim an issue
  2. get the source code from layer
  3. copy or set up style as necessary
  4. make changes; compile; check in various browsers, or whatever...

Working with the Code Locally

This guide is written assuming you have some basic knowledge and familiarity with Linux/UNIX, shells, file systems, etc. To work on styles bugs, you will also need familiarity with CSS and the S2 language. Knowledge of Perl is a bonus but not required (unless you want to work on S2.pm or other modules). If you only have Windows to work on, don't despair! It's possible to work with the repositories through the Windows Explorer, too.

As an alternative, you can do Styles work using a Dreamhack.

Getting the DW Code

Create a main working directory for the Dreamwidth source. Most of the instructions on the wiki are tailored to the source directory being ~/dw but you can use anything you like.

You'll next need to follow a subset of the instructions on Moving your Dreamwidth installation to use Github, specifically steps 4 through 8.

For more on how to use Git for version control, see Git settings and Git How To.