c't uplink 21.3: Gebraucht-Schnäppchen, Festpatten-Ausfälle vermeiden, Staubsauger-Roboter

heise online Newsticker - 10. März 2018 - 15:00
Heute in c't uplink: Tipps für den Gebrauchtkauf von Smartphones, Tablets & Co. Außerdem zeigen wir Euch, wie Ihr drohende SSD- und HDD-Ausfälle frühzeitig erkennt und welcher Roboter am besten staubsaugt.

Elektroauto: Porsche zeigt eine Version seiner Vision Mission E

heise online Newsticker - 10. März 2018 - 14:30
Zum Sportwagen seiner Elektro-Mission gesellt Porsche auf dem Genfer Autosalon nun einen Crossover für "aktive Menschen".

Frauentag: Bitkom zählt mehr Frauen in der ITK-Branche

heise online Newsticker - 10. März 2018 - 14:00
Zum Internationalen Frauentag hat der Bitkom eine neue Studie veröffentlicht, laut der der Frauenanteil in den IT-Unternehmen 2017 auf 28 Prozent gestiegen ist.

Memcached Amplification: Neue Hacker-Tools verursachen Rekord-DDoS-Angriffe

heise online Newsticker - 10. März 2018 - 13:00
DDoS-Angriffe per Memcached Amplification sind erst seit etwa einer Woche bekannt, nun existieren einfach zu bedienende Werkzeuge für solche Attacken. Unter anderem wurde auf diese Art GitHub mit einem Rekord-Angriff aus dem Internet geschwemmt.

AMD-Roadmap bis 2020 enthüllt: Zen2 und Zen3 hören auf Namen wie Matisse, Vermeer, Picasso und Renoir

heise online Newsticker - 10. März 2018 - 12:30
Die künftigen Codenamen von AMD-Prozessoren sind ins Netz gelangt. Eine Folie zeigt den AMD-Prozessorplan bis ins Jahr 2020.

Makey-Bausatz jetzt im Heise Shop erhältlich

heise online Newsticker - 10. März 2018 - 10:00
Der blinkende Makey sorgt auf den Maker Faires regelmäßig für leuchtende Augen bei groß und klein – die Handvoll Bauteile sind zum Glück in Windeseile zusammen gelötet. Jetzt gibt es ihn auch im Heise Shop zu bestellen.

Airbus verkauft Notrufsparte an Motorola Solutions

heise online Newsticker - 10. März 2018 - 9:30
Airbus verkauft nach der Genehmigung durch US-Behörden die Airbus DS Communications an Motorola Solutions. Damit wird das Geschäft mit US-amerikanischen Notrufanlagen und Funkrufsystemen aufgegeben.

Abweichungen im Stromnetz: Ehemaliger Umweltminister soll im Streit schlichten

heise online Newsticker - 10. März 2018 - 9:00
Eine Auseinandersetzung zwischen Serbien und dem Kosovo hat dafür gesorgt, dass in Europa bestimmte Uhren um mehrere Minuten nachgehen, weil die Frequenz in Europas Stromnetzen zu stark zurückgegangen ist. Nun soll Klaus Töpfer in dem Streit vermitteln.

Oliver Davies: How to split a new Drupal contrib project from within another repository

Planet Drupal - 10. März 2018 - 2:00
Does it need to be part of the site repository?

An interesting thing to consider is, does it need to be a part of the site repository in the first place?

If from the beginning you intend to contribute the module, theme or distribution and it’s written as generic and re-usable from the start, then it could be created as a separate project on Drupal.org or as a private repository on your Git server from the beginning, and added as a dependency of the main project rather than part of it. It could already have the correct branch name and adhere to the Drupal.org release conventions and be managed as a separate project, then there is no later need to "clean it up" or split it from the main repo at all.

This is how I worked at the Drupal Association - with all of the modules needed for Drupal.org hosted on Drupal.org itself, and managed as a dependency of the site repository with Drush Make.

Whether this is a viable option or not will depend on your processes. For example, if your code needs to go through a peer review process before releasing it, then pushing it straight to Drupal.org would either complicate that process or bypass it completely. Pushing it to a separate private repository may depend on your team's level of familiarity with Composer, for example.

It does though avoid the “we’ll clean it up and contribute it later” scenario which probably happens less than people intend.

Create a new, empty repository

If the project is already in the site repo, this is probably the most common method - to create a new, empty repository for the new project, add everything to it and push it.

For example:

cd web/modules/custom/my_new_module # Create a new Git repository. git init # Add everything and make a new commit. git add -A . git commit -m 'Initial commit' # Rename the branch. git branch -m 8.x-1.x # Add the new remote and push everything. git remote add origin username@git.drupal.org:project/my_new_module.git git push origin 8.x-1.x

There is a huge issue with this approach though - you now have only one single commit, and you’ve lost the commmit history!

This means that you lose the story and context of how the project was developed, and what decisions and changes were made during the lifetime of the project so far. Also, if multiple people developed it, now there is only one person being attributed - the one who made the single new commit.

Also, if I’m considering adding your module to my project, personally I’m less likely to do so if I only see one "initial commit". I’d like to see the activity from the days, weeks or months prior to it being released.

What this does allow though is to easily remove references to client names etc before pushing the code.

Use a subtree split

An alternative method is to use git-subtree, a Git command that "merges subtrees together and split repository into subtrees". In this scenario, we can use split to take a directory from within the site repo and split it into it’s own separate repository, keeping the commit history intact.

Here is the description for the split command from the Git project itself:

Extract a new, synthetic project history from the history of the subtree. The new history includes only the commits (including merges) that affected , and each of those commits now has the contents of at the root of the project instead of in a subdirectory. Thus, the newly created history is suitable for export as a separate git repository.

Note: This command needs to be run at the top level of the repository. Otherwise you will see an error like "You need to run this command from the toplevel of the working tree.".

To find the path to the top level, run git rev-parse --show-toplevel.

In order to do this, you need specify the prefix for the subtree (i.e. the directory that contains the project you’re splitting) as well as a name of a new branch that you want to split onto.

git subtree split --prefix web/modules/custom/my_new_module -b split_my_new_module

When complete, you should see a confirmation message showing the branch name and the commit SHA of the branch.

Created branch 'split_my_new_module' 7edcb4b1f4dc34fc3b636b498f4284c7d98c8e4a

If you run git branch, you should now be able to see the new branch, and if you run git log --oneline split_my_new_module, you should only see commits for that module.

If you do need to tidy up a particular commit to remove client references etc, change a commit message or squash some commits together, then you can do that by checking out the new branch, running an interactive rebase and making the required amends.

git checkout split_my_new_module git rebase -i --root

Once everything is in the desired state, you can use git push to push to the remote repo - specifying the repo URL, the local branch name and the remote branch name:

git push username@git.drupal.org:project/my_new_module.git split_my_new_module:8.x-1.x

In this case, the new branch will be 8.x-1.x.

Here is a screenshot of example module that I’ve split and pushed to GitLab. Notice that there are multiple commits in the history, and each still attributed to it’s original author.

Also, as this is standard Git functionality, you can follow the same process to extract PHP libraries, Symfony bundles, WordPress plugins or anything else.

Amazon will Alexa das unkontrollierte Lachen austreiben

heise online Newsticker - 9. März 2018 - 18:30
Nichts mehr zu lachen hat Amazons Sprachassistentin Alexa künftig in den USA. Benutzer hatten sich über spontan auftretendes Lachen unter anderem aus dem Lautsprecher der Amazon Echos beschwert. Amazon will nachbessern.

Drohnen: Automatische Fluggenehmigungen an 500 US-Flughäfen

heise online Newsticker - 9. März 2018 - 18:30
Rund um Flugplätze sind fliegende Drohnen verboten, Ausnahmegenehmigungen sind möglich. Das Verfahren dauert in den USA aber oft Monate, weshalb es nun automatisiert werden soll.

Jupiter: Raumsonde Juno beobachtet Sturm-Karussell an den Polen

heise online Newsticker - 9. März 2018 - 18:00
Von den Polregionen des Jupiter weiß man bislang wenig. Die Raumsonde Juno hat sie nun gezielt überflogen und Bilder gemacht. Ergebnis: An den Polen toben gleich mehrere Wirbelstürme.

Asien: Apple kontrolliert Lieferanten schärfer

heise online Newsticker - 9. März 2018 - 18:00
Nach Berichten über schlimme Zustände bei Zulieferern lässt der iPhone-Hersteller regelmäßig die Arbeitsbedingungen überprüfen. Laut neuestem "Supplier Responsibility Report" ist der Konzern dabei teilweise weitergekommen – teilweise aber auch nicht.

Acquia Developer Center Blog: Securing Non-Production Environments

Planet Drupal - 9. März 2018 - 17:23

One of the common issues I've noticed when working with customers is the tendency to treat non-production environments, such as dev or stage, as less important with respect to security.

This is understandable since these environments are effectively disposable and could be rebuilt from production at any time. However an important consideration that should be taken into account is what data lives in these environments.

Tags: acquia drupal planet

Android: Erste Preview von Android P erschienen

heise online Newsticker - 9. März 2018 - 16:30
Pünktlich im März hat Google die erste Preview der neuen Android-Version Android P veröffentlicht. App-Entwickler können sich über einige neue Spielzeuge freuen: unter anderen Innnenraumnavigation und Integration von Display-Cutouts.

Oracle gliedert JavaFX aus dem JDK aus

heise online Newsticker - 9. März 2018 - 16:30
Ab der für Herbst 2018 geplanten Version 11 ist das für die Entwicklung von Desktopanwendungen und Rich Internet Applications vorgesehen Framework nicht mehr Bestandteil des JDK.

Oculus Rift: Abgelaufenes Zertifikat setzt VR-Brillen außer Gefecht

heise online Newsticker - 9. März 2018 - 16:30
Zurück in der Realität: Die Oculus Rift VR-Brille startet momentan nur mit einer Fehlermeldung und ist damit unbrauchbar. Schuld daran ist ein abgelaufenes Zertifikat. Der Hersteller arbeitet an einer Lösung – doch die ist komplizierter als gedacht.

Studie: Präzisionsmedizin könnte weitere Nachteile für unterprivilegierte Gruppen bringen

heise online Newsticker - 9. März 2018 - 16:30
Exakt auf die persönlichen Umstände von Patienten ausgelegte Therapien sollen Fortschritte im Gesundheitswesen bringen. Allerdings bergen sie zugleich die Gefahr, dass bestimmte Gruppen durch das Raster fallen.

Windows ML: Machine Learning/KI für den PC

heise online Newsticker - 9. März 2018 - 16:30
Microsofts API Windows ML soll mehr KI-Anwendungen mit neuronalen Netzen auf Client-Rechner bringen, unter anderem durch Einbindung von KI-Beschleunigern wie Intel Movidius Myriad X.

Akku-Top-10: Smartphones mit der längsten Laufzeit

heise online Newsticker - 9. März 2018 - 16:00
Kameras, Displays und Chips haben in Smartphones enorme Technologiesprünge hingelegt, doch die Akkus bleiben Spaßverderber. Wir zeigen die Handys mit dem längsten Durchhaltevermögen.